在脱机模式下安装 Azure 虚拟机代理
Azure 虚拟机代理 (VM 代理) 提供了有用的功能,例如本地管理员密码重置和脚本推送。 本文介绍如何为脱机 Windows 虚拟机安装 VM 代理, (VM) 。
何时在脱机模式下使用 VM 代理
如果未安装 VM 代理,并且无法通过 RDP 连接到 VM,请在脱机模式下安装 VM 代理。
如果可以通过 RDP 连接到 VM,则只需 手动下载并安装 VM 代理。
如何在脱机模式下安装 VM 代理
使用以下步骤在脱机模式下安装 VM 代理。
步骤 1:将 VM 的 OS 磁盘作为数据磁盘附加到另一个 VM
为受影响 VM 的 OS 磁盘快照,从快照创建磁盘,然后将磁盘附加到故障排除 VM。 有关详细信息,请参阅使用 Azure 门户将 OS 磁盘附加到恢复 VM,对 Windows VM 进行故障排除。 对于经典 VM,请删除 VM 并保留 OS 磁盘,然后将 OS 磁盘附加到故障排除 VM。
连接到疑难解答 VM。 打开 “计算机管理>磁盘管理”。 验证 OS 磁盘是否联机,以及是否已将驱动器号分配给磁盘分区。
步骤 2:修改 OS 磁盘以安装 Azure VM 代理
与疑难解答 VM 建立远程桌面连接。
在疑难解答 VM 中,浏览到附加的 OS 磁盘,然后打开 \windows\system32\config 文件夹。 复制此文件夹中的所有文件作为备份,以防需要回滚。
启动注册表编辑器 (regedit.exe) 。
选择 HKEY_LOCAL_MACHINE 键。 在菜单上,选择“ 文件>加载配置单元”:
浏览到附加的 OS 磁盘上的 \windows\system32\config\SYSTEM 文件夹。 对于配置单元的名称,请输入 BROKENSYSTEM。 新的注册表配置单元显示在 HKEY_LOCAL_MACHINE 键下。
如果附加的 OS 磁盘已安装 VM 代理,请备份当前配置。 如果未安装 VM 代理,请转到下一步。
将 \windowsazure 文件夹重命名为 \windowsazure.old。
导出以下注册表:
- HKEY_LOCAL_MACHINE\BROKENSYSTEM\ControlSet001\Services\WindowsAzureGuestAgent
- HKEY_LOCAL_MACHINE\BROKENSYSTEM\ControlSet001\Services\RdAgent
使用疑难解答 VM 上的现有文件作为 VM 代理安装的存储库。 完成以下步骤:
从疑难解答 VM 中,以注册表格式导出以下子项, (.reg) :
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\WindowsAzureGuestAgent
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\RdAgent
编辑注册表文件。 在每个文件中,将条目值 SYSTEM 更改为 BROKENSYSTEM (,如下图中所示,) 并保存该文件。 请记住当前 VM 代理的 ImagePath 。 我们需要将相应的文件夹复制到附加的 OS 磁盘。
双击每个注册表文件,将注册表文件导入存储库。
验证以下子项是否已成功导入 BROKENSYSTEM 配置单元:
- WindowsAzureGuestAgent
- RdAgent
将当前 VM 代理的安装文件夹复制到附加的 OS 磁盘:
在附加的 OS 磁盘上,在根路径中创建名为 WindowsAzure 的文件夹。
转到疑难解答 VM 上的 C:\WindowsAzure ,并查找名为 C:\WindowsAzure\GuestAgent_X.X.XXXX.XXX 的任何文件夹。 将具有最新版本号的 GuestAgent 文件夹从 C:\WindowsAzure 复制到附加的 OS 磁盘中的 WindowsAzure 文件夹。 如果不确定应复制哪个文件夹,请复制所有 GuestAgent 文件夹。 下图显示了复制到附加 OS 磁盘的 GuestAgent 文件夹的示例。 如果找不到 GuestAgent 文件夹,检查 WindowsAzureGuestAgent 注册表子项的 imagePath 以获取准确的路径。
选择“ BROKENSYSTEM”。 从菜单中,选择“ 文件>卸载配置单元”。
分离 OS 磁盘,然后 更改受影响 VM 的 OS 磁盘。 对于经典 VM,请使用修复的 OS 磁盘创建新的 VM。
访问 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 反馈社区提交产品反馈。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈