我的 webrole 有一个启动任务,从 blob 下载一些可执行文件,然后继续安装。
从 .cmd 文件,我启动一个下载文件的 power shell 脚本,然后从 .cmd 启动文件。
如果我在发布完成后通过 RDP 手动运行该脚本,则该脚本可以正常工作。
但是,当作为启动脚本运行时,它有时(经常)在不同的点上失败。
taskType
设置background
为。
上次,错误是该命令PowerShell
不存在...
另外,我powershell -command set-executionpolicy unrestricted
在运行我的 PS 脚本之前使用,但我在这里读到其他任务可能会重置此设置并使我的失败。
好乱。
所以这让我想,如果我可以在开始我的任务之前等待所有其他任务执行,它将消除这些类型的问题
我想我可以检查某个进程是否正在运行并等待它完成,但我不知道要检查哪个进程。
或者也许还有另一种解决方案。
~编辑~
我在这里读到有关 powershell 不存在的错误可能是由于在 Visual Studio 中将批处理文件保存为 UTF-8 引起的。我在记事本++中从头开始重写它并确保它保存为ANSI。然后,同样的错误。完整的信息是:
'PowerShell' 不是内部或外部命令、可运行程序或批处理文件。
同样,该脚本可以从远程桌面的命令行完美运行。