虚拟机上的运行命令失败并防止其他'Invoke-AzureRmVMRunCommand'

问题描述 投票:0回答:1

问题:当我在Azure Windows VM上运行带有'Invoke-AzureRmVMRunCommand'的Powershell Runbook时,由于所调用命令中的错误(它永远处于闲置状态),我不得不停止Runbook,所有新的Runbook重复失败,并显示“正在执行运行命令扩展名。请在调用运行命令之前等待完成。”

这是在虚拟机上运行PS脚本的Runbook语句:

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)后才能工作:

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

问题:我知道该运行手册的(孤立的)命令有90分钟的超时。但是,在虚拟机或自动化帐户上,此空闲位置在哪里?而且,我该如何杀死它?等待90分钟再进行一次新的尝试来运行Runbook似乎是荒谬的。

[ ,btw。)
azure azure-automation
1个回答
0
投票
首先,设置90分钟的超时用于执行vm扩展,它是最大时间。您可以看到提示here。这并不意味着所有扩展将花费90分钟,而是意味着没有扩展执行将花费超过90分钟。这是一个极限。另外,您一次只能执行一个扩展,这是设计好的。
© www.soinside.com 2019 - 2024. All rights reserved.