如何在使用经典部署模型创建的 Windows VM 中重置远程桌面服务或其登录密码
重要
经典 VM 将于 2023 年 3 月 1 日停用。
如果从 ASM 使用 IaaS 资源,请在 2023 年 3 月 1 日之前完成迁移。 我们建议你尽快进行切换,以利用 Azure 资源管理器中的许多增强功能。
有关详细信息,请参阅在 2023 年 3 月 1 日之前将 IaaS 资源迁移到 Azure 资源管理器。
注意
Azure 具有用于创建和处理资源的两个不同的部署模型:资源管理器部署模型和经典部署模型。 本文介绍如何使用经典部署模型。 Microsoft 建议大多数新部署使用资源管理器模型。 还可对使用 Resource Manager 部署模型创建的 VM 执行这些步骤。
自 2017 年 11 月 15 日起,仅在 Azure 门户中提供虚拟机。
如果无法连接到 Windows 虚拟机 (VM),可以重置本地管理员密码或远程桌面服务配置。 可以使用 Azure 门户或 Azure PowerShell 中的 VM 访问扩展重置密码。
重置配置或凭据的方式
可以根据需要,通过多种不同的方式重置远程桌面服务和凭据:
Azure 门户
可使用 Azure 门户重置远程桌面服务。 要展开门户菜单,请单击左上角的三栏,并单击“虚拟机(经典)”:
选择 Windows 虚拟机,然后单击“ 重置远程...”。将显示以下对话框以重置远程桌面配置:
还可以重置本地管理员帐户的用户名和密码。 在 VM 中,单击“支持 +重置密码故障排除>”。 此时会显示密码重置边栏选项卡:
输入新用户名和密码,并单击“保存”。
VMAccess 扩展和 PowerShell
确保在虚拟机上安装 VM 代理。 只要 VM 代理可用,就不需要事先安装 VMAccess 扩展。 使用以下命令验证是否已在虚拟机上安装 VM 代理。 (将“myCloudService”和“myVM”分别替换为云服务和 VM 的名称。可以通过在没有任何 parameters 的情况下运行 Get-AzureVM
来了解这些名称。)
$vm = Get-AzureVM -ServiceName "myCloudService" -Name "myVM"
write-host $vm.VM.ProvisionGuestAgent
如果 write-host 命令显示 True,则已安装 VM 代理。 如果该命令显示 False,请参阅 Azure 博客文章 VM 代理和扩展 - 第 2 部分中的说明和下载链接。
如果虚拟机是使用门户创建的,请检查 $vm.GetInstance().ProvisionGuestAgent
是否返回 True。 如果不是,请使用以下命令进行设置:
$vm.GetInstance().ProvisionGuestAgent = $true
此命令可防止在后续步骤中运行 Set-AzureVMExtension 命令时出现以下错误:“在设置 IaaS VM Access 扩展前,必须对 VM 对象启用预配来宾代理。”
重置本地管理员帐户密码
使用当前的本地管理员帐户名和新密码创建登录凭据,并运行 Set-AzureVMAccessExtension
,如下所示。
$cred=Get-Credential
Set-AzureVMAccessExtension –vm $vm -UserName $cred.GetNetworkCredential().Username `
-Password $cred.GetNetworkCredential().Password | Update-AzureVM
如果键入的名称与当前帐户不同,则 VMAccess 扩展将重命名本地管理员帐户,将密码分配给该帐户,并颁发远程桌面注销。如果禁用本地管理员帐户,VMAccess 扩展会启用它。
这些命令也重置远程桌面服务配置。
重置远程桌面服务配置
若要重置远程桌面服务配置,请运行以下命令:
Set-AzureVMAccessExtension –vm $vm | Update-AzureVM
VMAccess 扩展在虚拟机上运行两个命令:
netsh advfirewall firewall set rule group="Remote Desktop" new enable=Yes
此命令启用允许传入远程桌面流量的内置 Windows 防火墙组,该组使用 TCP 端口 3389。
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -name "fDenyTSConnections" -Value 0
此命令将 fDenyTSConnections 注册表值设为 0,以启用远程桌面连接。
后续步骤
如果 Azure VM 访问扩展无响应,并且密码无法重置,可以脱机重置本地 Windows 密码。 此方法是一个较高级的过程,要求将有问题的 VM 的虚拟硬盘连接到另一个 VM。 请先遵循本文中所述的步骤,在万不得已的情况下,才尝试脱机重置密码的方法。