【发布时间】:2019-12-23 18:20:53
【问题描述】:
问题:当我在 Azure Windows VM 上运行带有“Invoke-AzureRmVMRunCommand”的 Powershell Runbook 时,由于调用的命令中出现错误,我不得不停止该 Runbook(并且它空闲永远),所有新的 Runbook 重复都会失败,并显示 “正在执行运行命令扩展。请等待完成,然后再调用运行命令。”。
这是在 VM 上运行 PS 脚本的运行手册语句:
Invoke-AzureRmVMRunCommand -ResourceGroupName $objVM.ResourceGroupName -Name $objVM.Name -CommandId 'RunPowerShellScript' -ScriptPath $strRemoteScriptFileNameTmp -Parameter $hshParams
'$strRemoteScriptFileNameTmp' 中的 PS 代码中包含此语句,它使 Runbook 空闲,即需要修复:
Invoke-Expression -Command "$strRunTimeEnv $strExecPath $strExecParaString"
-Command 然后看起来像这样;它应该将该 ODBC 驱动程序安装到 VM,并在使用 VM 的 PS CLI(RDP'd)执行时工作:
msiexec.exe /quiet /passive /qn /norestart /l* D:\msodbcsql_13.0_x64.log /package D:\UpdateODBC\Application\Live\msodbcsql_13.0_x64.msi IACCEPTMSODBCSQLLICENSETERMS=YES ADDLOCAL=ALL
问题:我知道 Runbook 的那个(孤立的)命令有 90 分钟的超时。但是,这个空闲在哪里,在 VM 或自动化帐户上?而且,我怎么能杀死它?在重新尝试运行 Runbook 之前等待 90 分钟似乎很荒谬。
(我并没有像 Msft 设置的那样完全进入一个高效的工作流程......是的,我已经阅读了关于这个主题的帖子,以及真正需要英语校对的 Msft 文档扬声器,顺便说一句。)
【问题讨论】: