我有一个脚本想要作为定时任务运行,但它没有执行它应该执行的操作。我试图使用Start-Process调用可执行文件,并在继续之前使用-Wait开关等待。命令是:
Start-Process -FilePath "C:\Pfx Engagement\Admin\Utilities\Backup Restore\BackupRestoreUtil.exe" -ArgumentList "/f
如果我从命令提示符中调用它,即: powershell .\script.ps1
它可以工作。它运行该命令并在继续之前等待其完成。在此命令完成后,必须运行脚本的其他内容。问题是,在定时任务上运行时它不等待。进行一些基本故障排除后,我首先尝试使用计划任务帐户(名为“Scripts”)打开带有runas的cmd窗口。所以我运行
runas /env /user:Scripts cmd
以使用任务帐户打开一个命令提示符窗口。从该命令提示符中,我再次尝试了“powershell .\script.ps1”,但这次没有等待。它运行该命令并在命令完成之前立即移动到下一步。因此,我认为它可能是“Scripts”帐户的问题,直到我使用runas Administrator打开新的命令提示符时。
runas /env /user:Administrator cmd
当我从此管理员命令提示符调用脚本时,“-Wait”开关也被忽略,并且在调用它后立即运行脚本而无需等待其完成。
奇怪的部分是,当我不使用runas从管理帐户的命令提示符中调用它时,它能够工作。同一个帐户,两种不同的结果。对于这里发生的事情有任何想法,非常重要的是如何解决?
操作系统是Server 2008 R2,运行PowerShell 3.0。
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:Scripts cmd
以使用任务帐户打开一个命令提示符窗口。从该命令提示符中,我再次尝试了“powershell .\script.ps1”,但这次没有等待。它运行该命令并在命令完成之前立即移动到下一步。因此,我认为它可能是“Scripts”帐户的问题,直到我使用runas Administrator打开新的命令提示符时。
runas /env /user:Administrator cmd
当我从此管理员命令提示符调用脚本时,“-Wait”开关也被忽略,并且在调用它后立即运行脚本而无需等待其完成。
奇怪的部分是,当我不使用runas从管理帐户的命令提示符中调用它时,它能够工作。同一个帐户,两种不同的结果。对于这里发生的事情有任何想法,非常重要的是如何解决?
操作系统是Server 2008 R2,运行PowerShell 3.0。