我想在Try/Catch块中使用If/Else语句。以下是我的代码。 这里我能够捕捉到脚本失败时的错误,但是当它成功时,我想在.csv文件中标记日期时间,但它不起作用。请帮忙。想要在Try/Catch块中使用IF/Else语句
Try
{
$hostcomputer = hostname
$IP = "10.x.x.x"
$pso = New - PSSessionOption - SkipCACheck - SkipRevocationCheck - SkipCNCheck: $TRUE - ErrorAction Stop# $Session = New - PSSession - ConfigurationName Microsoft.Exchange - ConnectionUri https: //mail.Test.com/powershell/?ExchClientVer=15.0 -Credential (Get-Credential) -Authentication Basic –AllowRedirection –SessionOption (New-PSSessionOption –SkipRevocationCheck)
$session = New - PSSession - Authentication Negotiate - ConnectionUri https: //mail.Test.com/powershell/?ExchClientVer=15.1
-ConfigurationName microsoft.exchange - SessionOption $pso - ErrorAction Stop
import -pssession $session - allowclobber - ErrorAction Stop
}
Catch
{
$ErrorMessage = $_.Exception.Message
$FailedItem = $Error
Send - MailMessage - From FromAddress @Test.com - To "[email protected]", "[email protected]" - Subject "Test - RPS Not Working" - SmtpServer smtp.TEST.net - Body "Error generated on $hostcomputer = $IP. The Error Message was:- $ErrorMessage. AdditionalInfo:--$FailedItem. --NOTE: This is very first error and you may require to check and diagnose if any other issue."
$Text = "Connection Failed"###
You have to create.csv file manually and name the column as 'DC2'
$Text | select @ {
l = 'DC2';
e = {
$_
}
} | Export - Csv D: \Output.csv - append
}
$Time = Get - Date
if (!$Error)
{
$Time | select @ {l = 'DC2'; e = {$_.DateTime}} | Export - Csv D: \Output.csv - append
}
你刚才的意思是你想最后三行应该得到执行后,尝试或赶上呢?我没有得到你想说的话。 – MobileEvangelist
是的。详细地说,当Try块中的上述命令有一些问题时,它将会输入csv文件并发送邮件。但如果它成功运行,我也想进入一个条目。哪个不起作用。 – Jeetcu
您可以将该部分移至抓取后的{}块,以便在尝试执行并执行后执行。即使你尝试和catch执行后会得到异常,最终会阻止并添加该csv文件条目。 – MobileEvangelist