我正在尝试通过 PowerShell 作为后台进程运行防病毒扫描。
我的代码:
$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
知道为什么这不会在后台运行吗?我尝试将 args 直接添加到脚本块中,但它似乎根本不喜欢这样。由于后台作业不产生任何输出,我很难理解为什么它会完成。