在脱机模式下安装 Azure 虚拟机代理

Azure 虚拟机代理 (VM 代理) 提供了有用的功能,例如本地管理员密码重置和脚本推送。 本文介绍如何为脱机 Windows 虚拟机安装 VM 代理, (VM) 。

何时在脱机模式下使用 VM 代理

如果未安装 VM 代理,并且无法通过 RDP 连接到 VM,请在脱机模式下安装 VM 代理。

如果可以通过 RDP 连接到 VM,则只需 手动下载并安装 VM 代理

如何在脱机模式下安装 VM 代理

使用以下步骤在脱机模式下安装 VM 代理。

步骤 1:将 VM 的 OS 磁盘作为数据磁盘附加到另一个 VM

  1. 为受影响 VM 的 OS 磁盘快照,从快照创建磁盘,然后将磁盘附加到故障排除 VM。 有关详细信息,请参阅使用 Azure 门户将 OS 磁盘附加到恢复 VM,对 Windows VM 进行故障排除。 对于经典 VM,请删除 VM 并保留 OS 磁盘,然后将 OS 磁盘附加到故障排除 VM。

  2. 连接到疑难解答 VM。 打开 “计算机管理>磁盘管理”。 验证 OS 磁盘是否联机,以及是否已将驱动器号分配给磁盘分区。

步骤 2:修改 OS 磁盘以安装 Azure VM 代理

  1. 与疑难解答 VM 建立远程桌面连接。

  2. 在疑难解答 VM 中,浏览到附加的 OS 磁盘,然后打开 \windows\system32\config 文件夹。 复制此文件夹中的所有文件作为备份,以防需要回滚。

  3. 启动注册表编辑器 (regedit.exe) 。

  4. 选择 HKEY_LOCAL_MACHINE 键。 在菜单上,选择“ 文件>加载配置单元”:

    注册表编辑器“文件”菜单中HKEY_LOCAL_MACHINE键和“加载 Hive”选项的屏幕截图。

  5. 浏览到附加的 OS 磁盘上的 \windows\system32\config\SYSTEM 文件夹。 对于配置单元的名称,请输入 BROKENSYSTEM。 新的注册表配置单元显示在 HKEY_LOCAL_MACHINE 键下。

  6. 如果附加的 OS 磁盘已安装 VM 代理,请备份当前配置。 如果未安装 VM 代理,请转到下一步。

    1. \windowsazure 文件夹重命名为 \windowsazure.old

    2. 导出以下注册表:

      • HKEY_LOCAL_MACHINE\BROKENSYSTEM\ControlSet001\Services\WindowsAzureGuestAgent
      • HKEY_LOCAL_MACHINE\BROKENSYSTEM\ControlSet001\Services\RdAgent
  7. 使用疑难解答 VM 上的现有文件作为 VM 代理安装的存储库。 完成以下步骤:

    1. 从疑难解答 VM 中,以注册表格式导出以下子项, (.reg) :

      • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\WindowsAzureGuestAgent

      • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\RdAgent

        Windows 资源管理器中 rdagent 和 winazureguestagent reg 文件的屏幕截图。

    2. 编辑注册表文件。 在每个文件中,将条目值 SYSTEM 更改为 BROKENSYSTEM (,如下图中所示,) 并保存该文件。 请记住当前 VM 代理的 ImagePath 。 我们需要将相应的文件夹复制到附加的 OS 磁盘。

      rdagent reg 文件的原始条目值和更改的条目值的屏幕截图。

    3. 双击每个注册表文件,将注册表文件导入存储库。

    4. 验证以下子项是否已成功导入 BROKENSYSTEM 配置单元:

      • WindowsAzureGuestAgent
      • RdAgent
    5. 将当前 VM 代理的安装文件夹复制到附加的 OS 磁盘:

      1. 在附加的 OS 磁盘上,在根路径中创建名为 WindowsAzure 的文件夹。

      2. 转到疑难解答 VM 上的 C:\WindowsAzure ,并查找名为 C:\WindowsAzure\GuestAgent_X.X.XXXX.XXX 的任何文件夹。 将具有最新版本号的 GuestAgent 文件夹从 C:\WindowsAzure 复制到附加的 OS 磁盘中的 WindowsAzure 文件夹。 如果不确定应复制哪个文件夹,请复制所有 GuestAgent 文件夹。 下图显示了复制到附加 OS 磁盘的 GuestAgent 文件夹的示例。 如果找不到 GuestAgent 文件夹,检查 WindowsAzureGuestAgent 注册表子项的 imagePath 以获取准确的路径。

        附加的 OS 磁盘中的 GuestAgent 文件夹示例的屏幕截图。

  8. 选择“ BROKENSYSTEM”。 从菜单中,选择“ 文件>卸载配置单元”。

  9. 分离 OS 磁盘,然后 更改受影响 VM 的 OS 磁盘。 对于经典 VM,请使用修复的 OS 磁盘创建新的 VM。

  10. 访问 VM。 请注意,RdAgent 正在运行,并且正在生成日志。

如果使用资源管理器部署模型创建了 VM,则已完成。

对经典 VM 使用 ProvisionGuestAgent 属性

重要

经典 VM 将于 2023 年 9 月 1 日停用

如果使用 ASM 中的 IaaS 资源,请在 2023 年 9 月 1 日前完成迁移。 我们建议你尽快进行切换,以利用 Azure 资源管理器 中的许多功能增强功能。

有关详细信息,请参阅在 2023 年 9 月 1 日前将 IaaS 资源迁移到 Azure 资源管理器

如果使用经典模型创建了 VM,请使用 Azure PowerShell 模块更新 ProvisionGuestAgent 属性。 属性通知 Azure VM 已安装 VM 代理。

若要设置 ProvisionGuestAgent 属性,请在 Azure PowerShell 中运行以下命令:

$vm = Get-AzureVM –ServiceName <cloud service name> –Name <VM name>
$vm.VM.ProvisionGuestAgent = $true
Update-AzureVM –Name <VM name> –VM $vm.VM –ServiceName <cloud service name>

然后运行 命令 Get-AzureVM 。 请注意, GuestAgentStatus 属性现在填充了数据:

Get-AzureVM –ServiceName <cloud service name> –Name <VM name>
GuestAgentStatus:Microsoft.WindowsAzure.Commands.ServiceManagement.Model.PersistentVMModel.GuestAgentStatus

后续步骤

联系我们寻求帮助

如果你有任何疑问或需要帮助,请创建支持请求联系 Azure 社区支持。 还可以向 Azure 反馈社区提交产品反馈。