我使用 Powershell 创建了一个计划任务来关闭/释放自身(它是 Azure 上的虚拟机)。
PowerShell 脚本是:Stop-AzureVM -Name "myvm" -ServiceName "myservice" -Force
如果计划任务运行 PowerShell,则该任务将继续运行并且永远不会关闭任何东西。
我做错了什么?执行任务的用户是虚拟机本身的本地管理员。我尝试等待触发器触发(特定时间之后),也尝试按需运行它(右键单击 => 立即运行),但都不起作用。
但是,如果我右键单击同一个 PowerShell 脚本文件并“使用 PowerShell 运行”,那么它就可以正常工作。
答案1
确保任务操作的程序/脚本值中配置了 PowerShell.exe 文件的路径:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
-File
并使用参数值中的参数引用脚本:
-File "C:\Scripts\myScript.ps1"
答案2
我曾经遇到过同样的挑战,即使用窗口任务调度程序安排虚拟机在预定时间启动/停止。我使用了相同的方法和脚本。花了 3 天多时间后,我才知道这种方法无法实现。它会在任务调度程序中显示进程状态为已完成,但实际上不会执行其任务。所以,你最好使用 Azure 管理门户并使用自动化运行手册相同。这个对我有用。请记住,您需要在设置相同的运行手册之前提供凭据。
您可以使用以下参考资料-
http://azure.microsoft.com/blog/2014/11/25/introducing-the-azure-automation-script-converter/ http://azure.microsoft.com/en-us/documentation/articles/automation-create-runbook-from-samples/
希望对你有帮助。 :)