我想在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