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

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

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

准备工作

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

    选择标签页以了解您打算如何使用本页面上的示例:

    控制台

    当您使用 Google Cloud 控制台访问 Google Cloud 服务和 API 时,无需设置身份验证。

    gcloud

    1. 安装 Google Cloud CLI,然后 使用联合身份登录 gcloud CLI。 登录后,运行以下命令来初始化 Google Cloud CLI:

      gcloud init
  • 设置默认区域和可用区

准备更新磁盘的许可

如需在磁盘挂接到正在运行的实例时更新磁盘的许可,请先关停实例或分离磁盘。

  • 停止实例。 在更新磁盘的许可之前,暂时关停实例。
  • 分离磁盘。这会在更新磁盘许可之前将磁盘从实例分离。

将 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:要替换的之前的许可参考,例如 "projects/windows-cloud/global/licenses/windows-server-2016-byol""projects/windows-cloud/global/licenses/windows-server-2019-byol"
  • NEW_LICENSE:新的许可参考,例如 "projects/windows-cloud/global/licenses/windows-server-2016-dc""projects/windows-cloud/global/licenses/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:新的许可参考,例如 "projects/windows-cloud/global/licenses/windows-server-2016-dc""projects/windows-cloud/global/licenses/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