将 Windows Server 从自带许可 (BYOL) 切换到随用随付 (PAYG)

您可以将 Windows Server 虚拟机 (VM) 实例从自带许可 (BYOL) 模式切换到随用随付 (PAYG) 模式。不支持将许可从 PAYG 更改为 BYOL。如需详细了解 Google Cloud上的 Windows Server 许可,请参阅 Google Cloud上的 Microsoft 许可

如需详细了解许可参考、许可代码以及如何确定允许的许可修改,请参阅许可变更和限制

准备工作

  • 如果您尚未设置身份验证,请进行设置。身份验证用于验证您的身份,以便访问 Google Cloud 服务和 API。如需从本地开发环境运行代码或示例,您可以通过选择以下选项之一向 Compute Engine 进行身份验证:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. 安装 Google Cloud CLI。 安装完成后,运行以下命令来初始化 Google Cloud CLI:

      gcloud init

      如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI

    2. Set a default region and zone.

将 BYOL 许可更改为 PAYG 许可

如需将自带许可 (BYOL) 替换为按需付费许可,请使用 Google Cloud CLI 或 Compute Engine API。

gcloud

如需将磁盘的许可替换为许可引用或代码,请使用 gcloud compute disks update 命令

gcloud compute disks update DISK_NAME \
    --replace-license=PREVIOUS_LICENSE,NEW_LICENSE

替换以下内容:

  • DISK_NAME:要替换的磁盘的名称。
  • PREVIOUS_LICENSE:要替换的之前的许可参考,例如 "windows-server-2016-byol""windows-server-2019-byol"
  • NEW_LICENSE:新的许可参考,例如 "windows-server-2016-dc""windows-server-2019-dc"

REST

如需替换磁盘的许可,请将新许可添加到请求正文中,并省略之前的许可。调用以下 disks.update v1 方法

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/disks/DISK_NAME?paths=licenses --data '{"name":"DISK_NAME", "licenses":["https://www.googleapis.com/compute/v1/NEW_LICENSE"]}'

替换以下内容:

  • PROJECT:项目的名称
  • ZONE:包含虚拟机的可用区
  • DISK_NAME:磁盘的名称
  • NEW_LICENSE:新的许可参考,例如 "windows-server-2016-dc""windows-server-2019-dc" 或许可代码,例如 "1000213""3389558045860892917"

激活新的 PAYG 许可

替换磁盘上的许可后,您必须使用 Google Cloud 密钥管理服务 (KMS) 激活操作系统。

如需激活许可,请在 Windows 虚拟机上完成以下步骤:

  1. 连接到 Windows 虚拟机
  2. 以管理员身份打开 PowerShell 终端。
  3. 更新 Google Compute Engine sysprep 软件包。这样可确保您拥有包含所需许可代码的最新版激活脚本。

    googet -noconfirm update google-compute-engine-sysprep
    
  4. 运行 activate_instance.ps1 脚本: 此脚本会检测新的按需付费许可,并配置正确的 KMS 服务器。

    & "C:\Program Files\Google\Compute Engine\sysprep\activate_instance.ps1"
    

验证许可变更

如需验证启动磁盘上的许可是否已更改,请按照以下步骤操作:

  1. 通过运行 gcloud compute disks describe 命令获取启动磁盘的相关信息:

    gcloud compute disks describe DISK_NAME \
        --zone=ZONE \
        --format="value(licenses)"
    

    替换以下内容:

    • DISK_NAME:要验证其许可的启动磁盘的名称
    • ZONE:包含要验证其许可的启动磁盘的可用区
  2. 验证输出是否类似如下所示:

    https://www.googleapis.com/compute/v1/projects/windows-cloud/global/licenses/windows-server-2019-dc