我有一个脚本,我想作为计划任务运行,但它没有做它应该做的事情。在继续之前,我正在尝试使用 Start-Process 和 -Wait 开关调用可执行文件。线是
Start-Process -FilePath "C:\Pfx Engagement\Admin\Utilities\Backup Restore\BackupRestoreUtil.exe" -ArgumentList "/f
"$backup_directory
"" -Wait
如果我从命令提示符调用它,即:
电源外壳 .\script.ps1
有用。它运行命令并等待它完成,然后再继续。该命令完成后必须运行的脚本还有更多内容。问题是,当它是计划任务时,它不会等待。进行一些基本故障排除后,我首先尝试使用名为“Scripts”的计划任务帐户打开一个带有 runas 的 cmd 窗口。所以我跑
runas /env /user:脚本 cmd
使用任务帐户打开命令提示符窗口。在该命令提示符下,我再次尝试“powershell .\script.ps1”,这一次,它没有等待。它运行命令并在命令完成之前立即继续。所以我认为这可能是“脚本”帐户的问题,直到我用 runas 管理员打开一个新的命令提示符
runas /env /user:管理员 cmd
当我从这个管理员命令提示符调用脚本时,-Wait 开关也被忽略,并且脚本在调用它后立即移动而不等待它完成。
奇怪的是,当我从管理员帐户的命令提示符调用它而不执行 runas 时,它可以工作。同一个账户,两个不同的结果。关于这里到底发生了什么的任何想法,同样重要的是,如何解决它?
操作系统是 Server 2008 R2,运行 powershell 3.0