【问题标题】:Azure. The Run Command Feature of Doesn't work on VM Created From Snapshot天蓝色。的运行命令功能不适用于从快照创建的 VM
【发布时间】:2021-02-04 17:48:46
【问题描述】:

我们有 2 个 VM,VM1 是原始 VM,VM2 是从 VM1 的快照创建的。 Run Command 在 VM1 上运行良好,但使用 PowerShell Invoke-AzVMRunCommand 执行时会超时。从 Portal 执行“运行命令”时,不会出现任何更改(也不会出现超时)。

这可能是什么原因?

我们正在通过 PowerShell 启动运行命令:

Invoke-AzVMRunCommand -ResourceGroupName Restore-RG -VMName DB-SLV-IMG-VM-LatestRestore-VM -CommandId 'RunPowerShellScript' -ScriptPath C:\Scripts\Script1.ps1

而Script1.ps1的内容是:

. C:\Scripts\TargetScript.ps1

VM1和VM2上TargetScript.ps1的内容是:

New-Item C:\Scripts\File1

【问题讨论】:

  • 运行 Azure 自定义脚本扩展失败还是运行命令失败?您能否展示如何运行自定义脚本扩展以及扩展的内容?
  • 你说得对,我没有使用 Azure 自定义脚本扩展,而是使用运行命令。我已经编辑了问题以反映这一点。

标签: azure-virtual-machine


【解决方案1】:

您可以确保按照正确的步骤从该快照创建 Azure VM。

要从快照创建 Azure VM,您需要从快照创建托管磁盘,然后将新托管磁盘附加为 OS 磁盘。有关详细信息,请参阅Create a VM from a snapshot with PowerShell 中的示例。

经过我的验证,如果 Run Command 在 VM1 上运行良好,您应该会在目标 VM 上的此类路径 C:\Packages\Plugins\Microsoft.CPlat.Core.RunCommandWindows\1.1.5\Downloads 中看到 Script1.ps1

然后您此时创建一​​个快照并从该快照创建一个托管磁盘,然后通过附加新的托管磁盘创建一个新的 Azure VM2。您将在 VM2 上看到与 VM1 相同的数据。

此时如果您为 VM2 运行命令,将显示以下消息,除非您删除路径 C:\Scripts\File1 中的 File1。这是意料之中的。

文件“C:\Scripts\File1”已经存在。

【讨论】:

    猜你喜欢
    • 2020-03-22
    • 1970-01-01
    • 2022-08-03
    • 1970-01-01
    • 2019-03-12
    • 1970-01-01
    • 1970-01-01
    • 2022-10-18
    • 1970-01-01
    相关资源
    最近更新 更多