Windows-7

Powershell腳本計劃任務不會結束

  • November 26, 2014

我想使用這個Powershell 腳本在 Win7 機器上自動進行一些備份。當從 Powershell 終端手動執行時,腳本會按照宣傳的方式執行,並在幾秒鐘後結束(這是一個小備份)。

問題是當我嘗試使用任務計劃程序自動化該過程時。時機成熟時(或者當我手動執行任務時),腳本會執行並正確執行備份。但它並沒有回到“就緒”狀態,即使我知道它已經結束。我每次都必須手動停止任務。

現在,我還沒等到該任務再次執行時會發生什麼,但我認為它不會第二次啟動,因為它還沒有“準備好”。

我能做些什麼呢?

更新 1:

我選擇的操作是“啟動程序”。在“程序/腳本”框中,我有“powershell.exe”,作為參數,我有腳本“*.ps1”文件的路徑。

更新 1:

我注意到雖然任務沒有返回到“就緒”,但如果我手動啟動它,它會再次執行。

BackupScript.ps1 的最後兩行是

Write-Host "Press any key to close ..."
$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")

將這些註釋掉(或刪除它們),計劃的作業應該完成並乾淨地退出。如果您真的想要在最後暫停,請將最後一行替換為類似這樣的內容以將超時包裹起來(每次睡眠為 1 秒):

$counter = 0
while(!$Host.UI.RawUI.KeyAvailable -and ($counter++ -lt 600))
{
     [Threading.Thread]::Sleep( 1000 )
}

引用自:https://serverfault.com/questions/645516