重要
经典 VM 将于 2023 年 3 月 1 日停用。
如果使用 ASM 中的 IaaS 资源,请在 2023 年 3 月 1 日完成迁移。 我们建议你尽快进行切换,以利用 Azure 资源管理器中的许多增强功能。
有关详细信息,请参阅 将 IaaS 资源在 2023 年 3 月 1 日前迁移到 Azure 资源管理器。
注释
Azure 具有用于创建和处理资源的两个不同的部署模型:资源管理器部署模型和经典部署模型。 本文介绍如何使用经典部署模型。 Microsoft 建议大多数新部署使用 Resource Manager 模型。 还可以 对使用 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 的名称。可以通过在没有任何参数的情况下运行 Get-AzureVM 来了解这些名称。
$vm = Get-AzureVM -ServiceName "myCloudService" -Name "myVM"
write-host $vm.VM.ProvisionGuestAgent
如果 write-host 命令显示 True,则表示 VM 代理已安装。 如果显示 False,请参阅 VM 代理和扩展中的下载说明和链接 - 第 2 部分 Azure 博客文章。
如果使用门户创建了虚拟机,请检查是否 $vm.GetInstance().ProvisionGuestAgent 返回 True。 如果没有,可以使用以下命令对其进行设置:
$vm.GetInstance().ProvisionGuestAgent = $true
在后续步骤中运行 Set-AzureVMExtension 命令时,此命令会阻止以下错误:“设置 IaaS VM 访问扩展之前,必须在 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。 首先按照本文中记录的步骤进行操作,并仅将离线密码重置方法作为最后的手段尝试。