2014-07-10 56 views
0

我需要您提供寶貴的意見/建議,以瞭解如何實施PowerShell腳本,以根據其運行時在執行期間向用戶發送反饋。從powershell執行批處理腳本並提供反饋

Powershell腳本將執行批處理腳本。

Clear-Host 
cmd.exe "/c G:\BEKDocs\Batch\Batch1.cmd" 
Write-Host "The Exit code from Batch1 is " $LastExitCode 

批處理腳本將做自己的一些處理,我想電源外殼腳本,以使用SMTP通過電子郵件通信提供反饋幾集在以下場合的用戶(我SMTP服務器配置) 。

  1. 腳本啓動時(應發送郵件)。
  2. 如果腳本在一分鐘內完成。
  3. 如果腳本運行超過一個小時。
  4. 如果腳本失敗。

問候, 娜迦

+1

要發送郵件,請查看Send-MailMessage命令的幫助頁面。 –

回答

0

使用Send-MailMessage來發送郵件。使用Measure-Command來測量命令的執行時間。使用$LASTEXITCODE來確定外部命令是成功還是失敗。

$from = '[email protected]' 
$to = '[email protected]' 

Send-MailMessage -From $from -To $to -Subject 'script started' 

$time = Measure-Command { & cmd.exe /c "G:\BEKDocs\Batch\Batch1.cmd" } 

if ($time.TotalMinutes -le 1) { 
    Send-MailMessage -From $from -To $to -Subject 'script completed within 1 min' 
} elseif ($time.TotalMinutes -gt 60) { 
    Send-MailMessage -From $from -To $to -Subject 'script ran longer than 1 hour' 
} 

if ($LASTEXITCODE -ne 0) { 
    Send-MailMessage -From $from -To $to -Subject 'script failed' 
}