1
我試圖通過PowerShell作爲後臺進程運行防病毒掃描。如何使用PowerShell通過Start-Job運行Symantec Endpoint Protection掃描?
我的代碼:
$arg1 = "/c"
$arg2 = "/ScanAllDrives"
$logFile = "/LOGFILE='C:\Users\user\AppData\Local\Symantec\Symantec Endpoint Protection\Logs\test.log'"
Start-Job -ScriptBlock {"C:\Program Files (x86)\Symantec\Symantec Endpoint Protection\12.1.7004.6500.105\Bin\DoScan.exe"} -ArgumentList "$arg1 $arg2 $logFile
作業的第二運行後停止。 Get-Job
顯示它已經完成,但它沒有給出運行時和缺少日誌文件。
當我從PowerShell控制檯運行如下它工作正常:
& "C:\Program Files (x86)\Symantec\Symantec Endpoint Protection\12.1.7004.6500.105\Bin\DoScan.exe" /c /ScanAllDrives
知道爲什麼這不會在後臺運行?我試着直接將腳本添加到腳本塊中,但它似乎完全不喜歡。我不覺得很容易明白爲什麼它會完成,因爲後臺作業不會產生任何輸出。
好吧,我想我已經接近了一點。當我使用接收作業時,我看到: 術語'x86'不被識別爲cmdlet,函數,腳本文件或可操作程序的名稱。檢查名稱的拼寫,或者如果包含路徑,請驗證路徑是否正確,然後再試一次 – user1894814
謝謝,但現在參數不起作用 – user1894814
您將參數傳遞給作業,但從未在腳本中引用它們塊。 –