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