“找不到文件” Invoke-AzureRmVMRunCommand

问题描述

我使用Azure自动化,PowerShell Runbook,试图在VM内执行脚本。

processMessage(Message<?> message)

但是我得到这个错误

“找不到文件'c:\ temp \ shutdown.ps1'。”

我发现提到了一个类似的问题https://downloads.lightbend.com/scala/2.13.3/scala-2.13.3.msi,但答案令人困惑

”“我发现相关文件需要在本地 机器-而不是远程机器。”

我们在这里仅讨论一个VM,因此不确定本地计算机与远程计算机的含义。

解决方法

我们需要将文件加载到一个对象中,然后像这样运行它,最后将其删除。

Out-File -InputObject $ScriptToRun -FilePath ScriptToRun.ps1 

Invoke-AzVMRunCommand -ResourceGroupName $rgname -Name $vmname -CommandId 'RunPowerShellScript' -ScriptPath ScriptToRun.ps1

Remove-Item -Path ScriptToRun.ps1