在 Azure 中使用 Windows Admin Center 管理 Windows Server VM

现在,可以在 Azure 门户中使用 Windows Admin Center 管理 Azure VM 内的 Windows Server 操作系统。 从 Azure 门户管理操作系统功能,以及在不使用远程桌面或 PowerShell 的情况下处理 VM 中的文件。

本文概述了提供的功能、要求,以及如何安装 Windows Admin Center 并使用它来管理单个 VM。 本文还回答了常见问题,并提供了已知问题的列表,以及在某项功能不起作用时进行故障排除的提示。

Screenshot showing Windows Admin Center in the Azure portal, displaying the files and folders on the running operating system.

功能概述

Azure 门户中的 Windows Admin Center 提供了一组基本的管理工具,可用于在单个 Azure VM 中管理 Windows Server:

  • 证书
  • 设备
  • 事件
  • 文件和文件共享
  • 防火墙
  • 已安装的应用
  • 本地用户和组
  • 性能监视器
  • PowerShell
  • 进程
  • 注册表
  • 远程桌面
  • 角色和功能
  • 计划任务
  • 服务
  • 存储
  • 更新

目前,我们不支持 Azure 门户中的 Windows Admin Center 扩展。

如果你在 VM 中手动安装了 Windows Admin Center 以管理多个系统,则安装此 VM 扩展会将功能降低到只管理安装了扩展的 VM。 卸载扩展可以恢复完整功能。

要求

本部分提供了在 Azure 门户中使用 Windows Admin Center 来管理 Azure IaaS VM 的要求:

具有有效订阅的 Azure 帐户

需要使用一个具有有效订阅的 Azure 帐户来部署 Windows Admin Center。 如果你没有帐户,可以免费创建一个帐户

Azure 权限

若要在 IaaS VM 上安装 Windows Admin Center 扩展,必须在 Azure 中为帐户授予“所有者”或“参与者”角色。

连接到 Windows Admin Center 时要求你在虚拟机资源级别拥有“读取者”和“Windows Admin Center 管理员登录”权限。

详细了解如何为 VM 配置角色分配

虚拟机要求

若要在 Azure 门户中使用 Windows Admin Center,请在要使用它进行管理的每个 Azure VM 中安装 Windows Admin Center。 Azure VM 具有以下要求:

  • Windows Server 2022、Windows Server 2019 或 Windows Server 2016
  • 至少 3 GiB 内存
  • 位于 Azure 公有云的任何区域中(Azure 中国、Azure 政府或其他非公有云不支持)

网络要求

VM 还具有以下网络要求,我们将在安装过程中逐步满足这些要求:

  • 出站 Internet 访问或允许 HTTPS 流量流向 WindowsAdminCenterAzureActiveDirectory 服务标记的出站端口规则

  • 如果使用公共 IP 地址连接到 VM,则需要一个入站端口规则(不建议)

注意

当前不支持将 Windows Admin Center 配置为通过 HTTP/HTTPS 代理服务器进行出站通信。

与远程桌面一样,我们建议在 VM 虚拟网络中使用一个专用 IP 地址连接到 VM,以提高安全性。 使用专用 IP 地址不需要入站端口规则,但它确实需要访问虚拟网络(我们将在下面讨论)。

注意

不支持由其他服务(例如 Azure 防火墙)重定向的入站连接。 在安装了 Windows Admin Center 的端口上,必须具有从 Azure 门户到 VM 的直接 IP 地址之一的入站连接(如 Azure 门户中 Azure VM 的“网络”选项卡上所示)。

管理电脑要求

用于连接到 Azure 门户的管理电脑或其他系统具有以下要求:

  • Microsoft Edge 或 Google Chrome Web 浏览器
  • 访问已连接到 VM 的虚拟网络(这比使用公共 IP 地址进行连接要更安全)。 可通过多种方式连接到虚拟网络,包括使用 VPN 网关

在 VM 中安装

必须先在要管理的 VM 中安装 Windows Admin Center,然后才能在 Azure 门户中使用它。 下面介绍如何操作:

  1. 打开 Azure 门户并导航到 VM 的设置。

  2. 如果 VM 已阻止所有出站 Internet 流量,请创建一个出站端口规则以连接到 Windows Admin Center 服务。

    为此,导航到 Windows Admin Center(位于“设置”组中),并在 Windows Admin Center 的“安装”屏幕上选中标题为“为 Windows Admin Center 打开出站端口进行安装”的复选框。 或者,你也可以运行以下 PowerShell 命令:

    $allowWindowsAdminCenter = New-AzNetworkSecurityRuleConfig  -Name "PortForWACService"  -Access Allow -Protocol Tcp -Direction Outbound -Priority 100 -DestinationAddressPrefix WindowsAdminCenter -SourcePortRange * -SourceAddressPrefix * -DestinationPortRange 443
    $allowAAD = New-AzNetworkSecurityRuleConfig  -Name "PortForAADService"  -Access Allow -Protocol Tcp -Direction Outbound -Priority 101 -DestinationAddressPrefix AzureActiveDirectory -SourcePortRange * -SourceAddressPrefix * -DestinationPortRange 443
    
  3. 在虚拟机设置中,导航到 Windows Admin Center(位于“设置”组中)。

  4. 若要选择通过公共 Internet 从任何 IP 地址访问你的 VM(这可以为测试提供便利,但会使 VM 暴露于来自 Internet 上任何主机的攻击危险中),可以选择“为我打开此端口”。

不过,我们建议改用专用 IP 地址进行连接,或者至少手动创建一个入站端口规则,锁定以仅接受来自你指定的 IP 地址的流量。

  1. 选择“安装” 。

    安装需要几分钟的时间。 如果你选择了“为我打开此端口”或在最近几分钟内手动创建了入站端口规则,则可能还需要几分钟才能连接到 Windows Admin Center。

Screenshot showing the install button for Windows Admin Center on a VM.

在 VM 中使用

在 Azure VM 中安装了 Windows Admin Center 后,可以看看如何连接到它并使用它来管理 Windows Server:

  1. 打开 Azure 门户并导航到 VM,然后导航到 Windows Admin Center。
  2. 选择要在连接到 VM 时使用的 IP 地址,然后选择“连接”。

此时 Windows Admin Center 在门户中打开,使你能够访问在本地部署中使用 Windows Admin Center 时可能熟悉的相同工具。

注意

从 2022 年 8 月开始,Windows Admin Center 允许对 Azure IaaS VM 使用基于 Microsoft Entra ID 的身份验证。 系统不再提示你输入本地管理员帐户的凭据。

Screenshot showing a VM's settings and connecting to Windows Admin Center by private IP address.

如果看到“无法连接”消息,请确保你的帐户是 VM 资源上“Windows Admin Center 管理员登录”角色的成员。

创建入站端口规则以从特定公共 IP 地址进行连接

与远程桌面一样,在 VM 的公共 IP 地址上打开入站端口规则会使 VM 暴露于来自 Internet 上任何主机的潜在攻击危险中,因此我们建议改用专用 IP 地址访问 VM。

但是,如果需要使用公共 IP 地址,可以将可访问 VM 的 IP 地址限制为用于连接到 Azure 门户的系统使用的 IP 地址,从而提高安全性。 下面介绍如何操作:

  1. 打开 Azure 门户并导航到 VM >“网络”>“入站端口规则”。

  2. 如果已安装 Windows Admin Center,并配置它为你的公共 IP 地址打开入站端口,请选择“PortForWAC”。 否则,请选择“添加入站端口规则”。

  3. 提供以下值,指定管理系统的公共 IP 地址(用逗号分隔),并可选择从端口 6516 更改目标端口。 然后选择“添加” 。

    字段
    Source IP 地址
    源 IP 地址 管理系统 IP
    源端口范围 *
    目标 任意
    目标端口范围 6516
    协议 Any
    操作 允许

你可能需要使用非 Microsoft 网站或应用来查找用于连接到 Azure 门户的系统的公共 IP 地址。

为 VM 配置角色分配

对 Windows Admin Center 的访问是由“Windows Admin Center 管理员登录”Azure 角色控制的。

注意

“Windows Admin Center 管理员登录”角色使用 dataActions,因此无法在管理组范围内分配。 目前只能在订阅、资源组或资源范围中分配这些角色。

若要使用 Microsoft Entra 管理中心体验为 VM 配置角色分配,请执行以下操作:

  1. 选择包含 VM 及其关联的虚拟网络、网络接口、公共 IP 地址或负载平衡器资源的“资源组”。

  2. 选择“访问控制 (IAM)”。

  3. 选择“添加”>“添加角色分配”,打开“添加角色分配”页面 。

  4. 分配以下角色。 有关详细步骤,请参阅使用 Azure 门户分配 Azure 角色

    设置
    角色 Windows Admin Center 管理员登录
    将访问权限分配到 用户、组、服务主体或托管标识

有关如何使用 Azure RBAC 管理对 Azure 订阅资源的访问的详细信息,请参阅以下文章:

代理配置

如果计算机通过代理服务器建立连接并以此通过 Internet 进行通信,请查看以下要求,了解所需的网络配置。

Windows Admin Center 扩展可以使用 HTTPS 协议通过代理服务器进行通信。 将扩展设置用于配置,如以下步骤所述。 不支持经过身份验证的代理。

注意

只有高于 0.0.0.321 的扩展版本才支持代理配置。

  1. 使用此流程图确定Settings参数Workflow for customers to understand the configuration needed to use proxies with Windows Admin Center.

  2. 确定 Settings 参数值后,请在部署 AdminCenter 代理时提供这些其他参数。 使用 PowerShell 命令,如以下示例所示:

$wacPort = "6516"
$settings = @{"port" = $wacPort; "proxy" = @{"mode" = "application"; "address" = "http://[address]:[port]";}}
Set-AzVMExtension -ExtensionName AdminCenter -ExtensionType AdminCenter -Publisher Microsoft.AdminCenter -ResourceGroupName <resource-group-name> -VMName <virtual-machine-name> -Location <location> -TypeHandlerVersion "0.0" -settings $settings

更新 Windows Admin Center

我们会不断发布新版本的 Windows Admin Center。 若要让 Windows Admin Center 自动更新到最新版本,Azure 虚拟机需要执行控制平面操作。 如果你希望早点更新,可以运行以下命令:

Set-AzContext <subscription_id>
Set-AzVMExtension -ExtensionName "AdminCenter" -Publisher "Microsoft.AdminCenter" -ExtensionType "AdminCenter" -ResourceGroupName <RG_name> -VMName <VM_name>

实现详细信息

Windows Admin Center 目前在 Azure 门户中以扩展的形式实现,我们将其安装在要使用 Windows Admin Center 的每个 Azure VM 上。

此扩展连接到管理证书和 DNS 记录的外部服务,因此可以轻松连接到 VM。

每个使用 Windows Admin Center 扩展的 Azure VM 都会获得 Microsoft 在 Azure DNS 中维护的公共 DNS 记录。 我们通过加盐操作对记录名称进行哈希处理,以便在 DNS 中保存 VM 的 IP 地址时对其进行匿名处理 - IP 地址不会以纯文本形式保存在 DNS 中。 此 DNS 记录用于为 VM 上的 Windows Admin Center 颁发证书,从而实现与 VM 的加密通信。

将 Azure VM 连接到 Windows Admin Center 会在管理员组中部署虚拟帐户,从而在 VM 上提供完全的管理员访问权限。 对 VM 的访问是由 Azure 中的“Windows Admin Center 管理员登录”角色控制的。 分配了 VM 的“所有者”或“参与者”角色的 Azure 用户不会自动获得登录到 VM 的权限。

疑难解答

下面是一些提示,在某项功能不起作用时可以尝试操作。 有关 Windows Admin Center(不是专门用于 Azure)疑难解答的一般帮助,请参阅 Windows Admin Center 疑难解答

无法连接错误

  1. 在新选项卡中,打开 https://<ip_address>:<port>。 如果此页面加载成功但显示证书错误,请创建支持请求。

    如果此页无法成功加载,则说明与 Windows Admin Center 本身的连接存在问题。 在尝试进一步的故障排除之前,请确保已连接到正确的 VNet 并使用正确的 IP 地址。

  2. 如果使用的是公共 IP 地址,请确保安装时选择的端口对 Internet 开放。 默认情况下,端口设置为 6516。 在虚拟机中,导航到“网络”>“添加入站端口规则”。

  3. 确保可以访问端口。

    1. 在 Azure 门户中,导航到“网络”,并确保没有可能会阻止 Windows Admin Center 端口的较高优先级冲突规则
    2. 在 Azure 门户中,导航到“连接故障排除”,测试连接是否正常以及是否可以访问端口。
  4. 确保虚拟机允许到 Windows Admin Center 的出站流量

    1. 在 Azure 门户中,导航到“网络”和“出站端口规则”。

    2. Windows Admin CenterAzure Active Directory 服务标记创建新的端口规则。

    3. 为了测试这一点,可以在虚拟机内使用 PowerShell 运行以下命令:

      Invoke-RestMethod -Method GET -Uri https://<your_region>.service.waconazure.com
      
      Microsoft Certificate and DNS service for Windows Admin Center in the Azure Portal
      
    4. 如果允许所有出站流量但运行上述命令时仍出现错误,请检查是否有防火墙规则阻止连接。 即使没有任何问题,也请创建支持请求,因为服务可能会遇到问题。

  5. 请确保 Windows Admin Center 服务正在 VM 上运行​。

    1. 在 Azure 门户中,导航到“连接”>“RDP”>“下载 RDP 文件”。
    2. 打开 RDP 文件并使用管理员凭据登录。
    3. 打开任务管理器 (Ctrl+Shift+Esc) 并导航到“服务”。
    4. 确保 ServerManagementGateway / Windows Admin Center 正在运行。 如果没有,请启动服务。
  6. 检查安装是否处于良好状态。

    1. 在 Azure 门户中,导航到“连接”>“RDP”>“下载 RDP 文件”。
    2. 打开 RDP 文件并使用管理员凭据登录。
    3. 打开浏览器并键入 https://localhost:<port>(将 <port> 替换为安装 Windows Admin Center 的端口)。 不确定安装在哪个端口? 请查看本文后面的常见问题解答。
    4. 如果未加载内容,则安装可能存在问题。 返回到 Azure 门户,导航到“扩展”,然后卸载 Admin Center 扩展。 导航回“Windows Admin Center”并重新安装扩展。
  7. 检查是否为 SmeInboundOpenException 开放了防火墙规则。

    1. 在 Azure 门户中,导航到“连接”>“RDP”>“下载 RDP 文件”。
    2. 打开 RDP 文件并使用管理员凭据登录。
    3. 打开控制面板并导航到 Control Panel\System 和 Security\Windows Defender Firewall\Allowed apps。
    4. 确保为“专用”和“公共”启用了 SmeInboundOpenException 规则,然后再次尝试连接。

如果浏览器阻止第三方 Cookie,则可能发生这种情况。 目前 Windows Admin Center 要求不阻止第三方 Cookie,而我们正在积极努力地消除该项要求。 在此期间,请在浏览器中允许第三方 Cookie。

  1. 在 Edge 上

    1. 导航到右上角的省略号,然后导航至“设置
    2. 导航到“Cookie 和网站权限
    3. 导航到“管理和删除 Cookie 和网站数据”
    4. 确保“阻止第三方 Cookie”复选框处于关闭状态
  2. 在 Chrome 上

    1. 导航到右上角的省略号,然后导航至“设置
    2. 导航到“数据和安全性
    3. 导航到“Cookie 和其他网站数据”
    4. 选择“在 Incognito 中阻止第三方 Cookie”或“允许所有 Cookie”处的单选按钮

某个 Windows Admin Center 工具未加载或出现错误

导航到 Windows Admin Center 中的任何其他工具,然后导航回未加载的工具。

如果没有加载其他工具,则网络连接可能存在问题。 尝试关闭边栏选项卡,然后重新连接。 如果该操作不起作用,请打开支持票证。

无法安装 Windows Admin Center 扩展

  1. 仔细检查,确保 VM 满足要求

  2. 确保虚拟机允许到 Windows Admin Center 的出站流量。

    1. 在 Azure 门户中,导航到“网络”和“出站端口规则”。

    2. 为 Windows Admin Center 创建新的出站端口规则。

    3. 为了测试连接性,可以在虚拟机内使用 PowerShell 运行以下命令:

      Invoke-RestMethod -Method GET -Uri https://<your_region>.service.waconazure.com
      
      Microsoft Certificate and DNS service for Windows Admin Center in the Azure Portal
      
  3. 如果已允许所有出站流量,但运行上述命令时仍出现错误,请检查是否有防火墙规则阻止连接。

如果没有任何问题但仍无法安装 Windows Admin Center,请使用以下信息创建支持请求:

  • Azure 门户中的日志。 可在“设置”>“扩展”>“管理中心”>“查看详细状态”下找到该内容
  • VM 中的日志。 从以下位置共享日志:
    • C:\WindowsAzure\Logs\Plugins\AdminCenter
    • C:\Packages\Plugins\AdminCenter
  • 网络跟踪(如果适用)。 网络跟踪可能包含客户数据和敏感的安全详细信息,例如密码,因此建议在共享之前查看跟踪并删除所有敏感详细信息。

使用 ARM 模板自动执行 Windows Admin Center 部署

使用下面的 Azure 资源管理器模板,可以在 Azure 门户中自动执行 Windows Admin Center 部署。

const deploymentTemplate = {
        "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {
            "vmName": {
                "type": "string"
            },
            "location": {
                "type": "string"
            },
            "extensionName": {
                "type": "string"
            },
            "extensionPublisher": {
                "type": "string"
            },
            "extensionType": {
                "type": "string"
            },
            "extensionVersion": {
                "type": "string"
            },
            "port": {
                "type": "string"
            },
            "salt": {
                "type": "string"
            }
        },
        "resources": [
            {
                "type": "Microsoft.Compute/virtualMachines/extensions",
                "name": "[concat( parameters('vmName'), '/' , parameters('extensionName') )]",
                "apiVersion": "2018-10-01",
                "location": "[parameters('location')]",
                "properties": {
                    "publisher": "[parameters('extensionPublisher')]",
                    "type": "[parameters('extensionType')]",
                    "typeHandlerVersion": "[parameters('extensionVersion')]",
                    "autoUpgradeMinorVersion": true,
                    "settings": {
                        "port": "[parameters('port')]",
                        "salt": "[parameters('salt')]",
                    }
                }
            }
        ];

const parameters = {
    vmName: <VM name>, 
    location: <VM location>, 
    extensionName: "AdminCenter", 
    extensionPublisher: "Microsoft.AdminCenter", 
    extensionType: "AdminCenter", 
    extensionVersion: "0.0", 
    port: "6516", 
    salt: <unique string used for hashing>
}

使用 PowerShell 自动执行 Windows Admin Center 部署

还可以使用下面的 PowerShell 脚本在 Azure 门户中自动执行 Windows Admin Center 部署。

$resourceGroupName = <get VM's resource group name>
$vmLocation = <get VM location>
$vmName = <get VM name>
$vmNsg = <get VM's primary nsg>
$salt = <unique string used for hashing>

$wacPort = "6516"
$Settings = @{"port" = $wacPort; "salt" = $salt}

# Open outbound port rule for WAC service
Get-AzNetworkSecurityGroup -Name $vmNsg -ResourceGroupName $resourceGroupName | Add-AzNetworkSecurityRuleConfig -Name "PortForWACService" -Access "Allow" -Direction "Outbound" -SourceAddressPrefix "VirtualNetwork" -SourcePortRange "*" -DestinationAddressPrefix "WindowsAdminCenter" -DestinationPortRange "443" -Priority 100 -Protocol Tcp | Set-AzNetworkSecurityGroup

# Open outbound port rule for AAD
Get-AzNetworkSecurityGroup -Name $vmNsg -ResourceGroupName $resourceGroupName | Add-AzNetworkSecurityRuleConfig -Name "PortForAADService" -Access "Allow" -Direction "Outbound" -SourceAddressPrefix "VirtualNetwork" -SourcePortRange "*" -DestinationAddressPrefix "AzureActiveDirectory" -DestinationPortRange "443" -Priority 101 -Protocol Tcp | Set-AzNetworkSecurityGroup

# Install VM extension
Set-AzVMExtension -ResourceGroupName $resourceGroupName -Location $vmLocation -VMName $vmName -Name "AdminCenter" -Publisher "Microsoft.AdminCenter" -Type "AdminCenter" -TypeHandlerVersion "0.0" -settings $Settings

# Open inbound port rule on VM to be able to connect to WAC
Get-AzNetworkSecurityGroup -Name $vmNsg -ResourceGroupName $resourceGroupName | Add-AzNetworkSecurityRuleConfig -Name "PortForWAC" -Access "Allow" -Direction "Inbound" -SourceAddressPrefix "*" -SourcePortRange "*" -DestinationAddressPrefix "*" -DestinationPortRange $wacPort -Priority 100 -Protocol Tcp | Set-AzNetworkSecurityGroup

已知问题

  • 如果更改任何网络规则,Windows Admin Center 需要一分钟左右的时间来更新其网络。 连接可能会中断几分钟。
  • 如果刚启动虚拟机,则需要大约一分钟的时间才能将 IP 地址注册到 Windows Admin Center,因此它可能不会加载。
  • Windows Admin Center 的第一次加载时间可能会稍长一些。 所有后续加载都只需几秒钟。
  • 不支持 Chrome Incognito 模式。
  • 不支持 Azure 门户桌面应用。

常见问题

使用 Windows Admin Center 需要多少费用?

在 Azure 门户中使用 Windows Admin Center 不会产生费用。

是否可以使用 Windows Admin Center 来管理 Azure VM 上运行的虚拟机?

可以使用角色和功能扩展来安装 Hyper-V 角色。 安装后,刷新浏览器,Windows Admin Center 将显示虚拟机和交换机扩展。

使用此扩展可以管理哪些服务器?

可以使用扩展来管理运行 Windows Server 2016 或更高版本的 VM。

Windows Admin Center 如何处理安全问题?

从 Azure 门户流向 VM 上运行的 Windows Admin Center 的流量使用 HTTPS。 Azure VM 通过 WinRM 使用 PowerShell 和 WMI 进行管理。

对于入站端口,为什么必须开放一个端口,为什么应该将源设置为“任何”?

Windows Admin Center 安装在 Azure 虚拟机上。 安装包括 Web 服务器和网关。 通过将 Web 服务器发布到 DNS 并打开防火墙(VM 中的入站端口),可以从 Azure 门户访问 Windows Admin Center。 此端口的规则执行与“RDP”端口非常相似。 如果不希望将此端口向“任何”源开放,我们建议将规则指定为用于打开 Azure 门户的计算机的 IP 地址。

为什么必须创建出站端口规则?

有一项外部 Windows Admin Center 服务可为你管理证书和 DNS 记录。 为了允许你的 VM 与我们的服务交互,必须创建出站端口规则。

如何查找用于 Windows Admin Center 安装的端口?

有两种方法可以查找端口:

  • 导航到 Azure 门户中的 Windows Admin Center 扩展。 尝试通过 IP 地址连接会导致连接失败。
  • 若要在 VM 上验证此值,请在 VM 上打开注册表编辑器,并在“\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ServerManagementGateway”中查找“SmePort”注册表项

是否可以使用 PowerShell 或 Azure CLI 在 VM 上安装扩展?

Yes:

我的 VM 上已经安装了 Windows Admin Center。 是否可以从门户访问它?

可以,但仍需要安装扩展

是否有任何关于 Windows Admin Center 及其工具的常规功能的文档?

有,请参阅 Windows Admin Center 概述管理服务器

是否必须在每个 Azure VM 上安装 Windows Admin Center?

是,对于初始实现,必须将 Windows Admin Center 安装在要使用它的每个 Azure VM 上。

是否可以使用 Windows Admin Center 来管理所有服务器和虚拟机?

是,可以使用本地 Windows Admin Center 来管理本地和 Azure 中的服务器和虚拟机。 有关详细信息,请参阅通过 Windows Admin Center 管理 Azure VM

Azure 门户中的 Windows Admin Center 是否适用于 Azure Bastion?

很遗憾,不适用。

负载均衡器后面的 VM 是否支持 Windows Admin Center?

是的。