脱机重置 Azure VM 的本地 Windows 密码
可以使用 Azure 门户 重置 Azure 中 VM 的本地 Windows 密码,或者Azure PowerShell(前提是安装了 Azure 来宾代理)。 此方法是重置 Azure VM 密码的主要方法。 如果在上传自定义映像后遇到 Azure 来宾代理未响应或安装失败的问题,可以手动重置 Windows 密码。 本文详细介绍了如何通过将源 OS 虚拟磁盘附加到另一个 VM 来重置本地帐户密码。 本文中所述的步骤不适用于 Windows 域控制器。
警告
仅将此过程用作最后手段。 始终尝试使用Azure 门户重置密码,或首先Azure PowerShell。
过程概述
当无法访问 Azure 来宾代理时,为 Azure 中的 Windows VM 执行本地密码重置的核心步骤如下:
- 停止受影响的 VM。
- 为 VM 的 OS 磁盘创建快照。
- 从 快照创建 OS 磁盘的副本。
- 将复制的 OS 磁盘附加并装载到另一个 Windows VM,然后在磁盘上创建一些配置文件。 这些文件将帮助你重置密码。
- 卸载复制的 OS 磁盘并将其从故障排除 VM 中分离。
- 交换受影响的 VM 的 OS 磁盘。
使用资源管理器部署的 VM 的详细步骤
注意
这些步骤不适用于 Windows 域控制器。 它仅适用于独立服务器或属于域成员的服务器。
在尝试以下步骤之前,请始终尝试使用Azure 门户或Azure PowerShell重置密码。 在开始之前,请确保已备份 VM。
为受影响 VM 的 OS 磁盘快照,从快照创建磁盘,然后将磁盘附加到故障排除 VM。 有关详细信息,请参阅使用 Azure 门户将 OS 磁盘附加到恢复 VM,对 Windows VM 进行故障排除。
使用远程桌面连接到故障排除 VM。
\Windows\System32\GroupPolicy
在源 VM 的驱动器上创建gpt.ini
((如果存在 gpt.ini),将 重命名为 gpt.ini.bak) :警告
请确保不要意外地在 C:\Windows(用于 VM 故障排除的 OS 驱动器)中创建以下文件。 在 OS 驱动器中为作为数据磁盘附加的源 VM 创建以下文件。
将以下行添加到
gpt.ini
创建的文件中:[General] gPCFunctionalityVersion=2 gPCMachineExtensionNames=[{42B5FAAE-6536-11D2-AE5A-0000F87571E3}{40B6664F-4972-11D1-A7CA-0000F87571E3}] Version=1
在 中创建
scripts.ini
\Windows\System32\GroupPolicy\Machine\Scripts\
。 确保显示隐藏的文件夹和文件扩展名。 如果需要,请创建Machine
或Scripts
文件夹。在创建的文件中添加以下行
scripts.ini
:[Startup] 0CmdLine=FixAzureVM.cmd 0Parameters=
使用以下内容创建
FixAzureVM.cmd
,\Windows\System32\GroupPolicy\Machine\Scripts\Startup\
将<username>
和<newpassword>
替换为自己的值:net user <username> <newpassword> /add /Y net localgroup administrators <username> /add net localgroup "remote desktop users" <username> /add
定义新密码时,必须满足 VM 配置的密码复杂性要求。
在 Azure 门户 中,从故障排除 VM 中分离磁盘。
运行新 VM 后,使用在脚本中指定的
FixAzureVM.cmd
新密码使用远程桌面连接到 VM。从远程会话到新 VM,删除以下文件以清理环境:
- From %windir%\System32\GroupPolicy\Machine\Scripts\Startup
- 删除FixAzureVM.cmd
- From %windir%\System32\GroupPolicy\Machine\Scripts
- 删除 scripts.ini
- From %windir%\System32\GroupPolicy
- 如果以前存在 gpt.ini,请删除 gpt.ini (,并将其重命名为 gpt.ini.bak,将.bak文件重命名回 gpt.ini)
- From %windir%\System32\GroupPolicy\Machine\Scripts\Startup
经典 VM 的详细步骤
重要
经典 VM 将于 2023 年 9 月 1 日停用
如果使用 ASM 中的 IaaS 资源,请在 2023 年 9 月 1 日前完成迁移。 我们建议你尽快进行切换,以利用 Azure 资源管理器 中的许多功能增强功能。
有关详细信息,请参阅在 2023 年 9 月 1 日前将 IaaS 资源迁移到 Azure 资源管理器。
注意
这些步骤不适用于 Windows 域控制器。 它仅适用于独立服务器或属于域成员的服务器。
在尝试以下步骤之前,请始终尝试使用Azure 门户或Azure PowerShell重置密码。 在开始之前,请确保已备份 VM。
在 Azure 门户 中删除受影响的 VM。 删除 VM 只会删除元数据(Azure 中 VM 的引用)。 删除 VM 时,虚拟磁盘将保留:
在Azure 门户中选择 VM,然后单击“删除”:
将源 VM 的 OS 磁盘附加到故障排除 VM。 故障排除 VM 必须与源 VM 的 OS 磁盘 (位于同一区域,例如
West US
) :在Azure 门户中选择故障排除 VM。 单击“磁盘附加现有” | :
选择“ VHD 文件 ”,然后选择包含源 VM 的存储帐户:
选中标记为 “显示经典存储帐户”的框,然后选择源容器。 源容器通常是 vhd:
选择要附加的 OS vhd。 单击“ 选择” 以完成该过程:
单击“确定”附加磁盘
使用远程桌面连接到故障排除 VM,并确保源 VM 的 OS 磁盘可见:
在Azure 门户中选择故障排除 VM,然后单击“连接”。
打开下载的 RDP 文件。 输入故障排除 VM 的用户名和密码。
在 文件资源管理器 中,查找附加的数据磁盘。 如果源 VM 的 VHD 是附加到故障排除 VM 的唯一数据磁盘,则它应该是 F: 驱动器:
在
\Windows\System32\GroupPolicy
源 VM 的驱动器上创建gpt.ini
((如果gpt.ini
存在),重命名为gpt.ini.bak
) :警告
请确保不要意外地在 OS 驱动器中创建
C:\Windows
以下文件,以便对 VM 进行故障排除。 在 OS 驱动器中为作为数据磁盘附加的源 VM 创建以下文件。将以下行添加到
gpt.ini
创建的文件中:[General] gPCFunctionalityVersion=2 gPCMachineExtensionNames=[{42B5FAAE-6536-11D2-AE5A-0000F87571E3}{40B6664F-4972-11D1-A7CA-0000F87571E3}] Version=1
在 中创建
scripts.ini
\Windows\System32\GroupPolicy\Machine\Scripts\
。 确保显示隐藏的文件夹和文件扩展名。 如果需要,请创建Machine
或Scripts
文件夹。在创建的文件中添加以下行
scripts.ini
:[Startup] 0CmdLine=FixAzureVM.cmd 0Parameters=
使用以下内容创建
FixAzureVM.cmd
,\Windows\System32\GroupPolicy\Machine\Scripts\Startup\
将<username>
和<newpassword>
替换为自己的值:net user <username> <newpassword> /add /Y net localgroup administrators <username> /add net localgroup "remote desktop users" <username> /add
定义新密码时,必须满足 VM 配置的密码复杂性要求。
在 Azure 门户 中,从故障排除 VM 中分离磁盘:
在Azure 门户中选择故障排除 VM,单击“磁盘”。
选择步骤 2 中附加的数据磁盘,单击“ 分离”,然后单击“ 确定”。
从源 VM 的 OS 磁盘创建 VM:
完成创建虚拟机体验
运行新 VM 后,使用在脚本中指定的
FixAzureVM.cmd
新密码使用远程桌面连接到 VM。从远程会话到新 VM,删除以下文件以清理环境:
- 从
%windir%\System32\GroupPolicy\Machine\Scripts\Startup\
- 删除
FixAzureVM.cmd
- 删除
- 从
%windir%\System32\GroupPolicy\Machine\Scripts
- 删除
scripts.ini
- 删除
- 从
%windir%\System32\GroupPolicy
- 删除
gpt.ini
((如果gpt.ini
以前存在),并且已将其重命名为gpt.ini.bak
,将.bak
文件重命名回gpt.ini
)
- 删除
- 从
后续步骤
如果仍无法使用远程桌面进行连接,请参阅 RDP 故障排除指南。 详细的 RDP 故障排除指南介绍了故障排除方法,而不是具体步骤。 还可以打开Azure 支持请求以获取动手帮助。
联系我们寻求帮助
如果你有任何疑问或需要帮助,请创建支持请求或联系 Azure 社区支持。 还可以向 Azure 反馈社区提交产品反馈。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈