AWS Systems Manager
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWSSupport-ActivateWindowsWithAmazonLicense

描述

AWSSupport-ActivateWindowsWithAmazonLicense Automation 文档通过联系托管实例上安装的 SSM 代理,使用 Amazon 提供的许可证激活 Amazon EC2 Windows Server 实例。(可选)您可以离线修复 Windows 激活,这需要停止和启动 EC2 实例。如果 Windows 未激活,此文档将验证并根据需要修复 Windows 路由表(到 Amazon KMS 服务器的路由)、KMS 设置(服务器和端口)并尝试激活 Windows。注意:此文档不能用于自带许可证 (BYOL) Windows 实例。有关使用自己的许可证的信息,请参阅 AWS 上的 Microsoft 许可

文档类型

Automation

所有者

Amazon

平台

Windows

参数

  • 实例 ID

    类型:字符串

    说明:(必需)EC2 Windows 托管实例的 ID。

  • ForceActivation

    类型:字符串

    允许的值:True、False

    默认值:False

    说明:(可选)若要在 Windows 已激活的情况下继续,请将其设置为 True。

  • AllowOffline

    类型:字符串

    允许的值:True、False

    默认值:False

    说明:(可选)当在线故障排除失败或提供的实例不是托管实例时,如果允许进行离线 Windows 激活修复,请将其设置为 true。注意:离线方法需要停止提供的 EC2 实例然后启动。存储在实例存储卷中的数据将丢失。如果不使用弹性 IP,则公有 IP 地址将发生更改。

  • SubnetId

    类型:字符串

    默认值:CreateNewVPC

    说明:(可选)仅离线 - 用于执行离线故障排除的 EC2Rescue 实例的子网 ID。使用 SelectedInstanceSubnet 以使用实例所在的子网,或使用 CreateNewVPC 创建一个新 VPC。重要说明:子网必须与 InstanceId 位于同一可用区中,并且必须允许访问 SSM 终端节点。

  • AutomationAssumeRole

    类型:字符串

    说明:(可选)此执行的 IAM 角色。如果未指定任何角色,则 AWS Systems Manager Automation 将使用运行此文档的用户的权限。

示例

启动 Automation

aws ssm start-automation-execution --document-name AWSSupport-ActivateWindowsWithAmazonLicense --parameters "InstanceId=INSTANCEID"

使用 ForceActivation = True 发送命令

aws ssm start-automation-execution --document-name AWSSupport-ActivateWindowsWithAmazonLicense --parameters "InstanceId=INSTANCEID,ForceActivation=True"

使用 AllowOffline = True 发送命令

aws ssm start-automation-execution --document-name AWSSupport-ActivateWindowsWithAmazonLicense --parameters "InstanceId=INSTANCEID,AllowOffline=True"

检索执行输出

aws ssm get-automation-execution --automation-execution-id EXECUTIONID --output text --query 'AutomationExecution.Output'

所需的 IAM 权限

建议让接收命令的 EC2 实例具有附加了 AmazonEC2RoleforSSM Amazon 托管策略的 IAM 角色。您必须至少具有 ssm:ExecuteAutomationssm:SendCommand 才能运行此 Automation 并将命令发送到实例,并且需要具有 ssm:GetAutomationExecution 才能读取 Automation 输出。对于离线修复,请参阅 AWSSupport-StartEC2RescueWorkflow 所需的权限。

文档步骤

  1. aws:assertAwsResourceProperty - 检查提供的实例的平台是不是 Windows。

  2. aws:assertAwsResourceProperty - 确认提供的实例是不是托管实例

    1. (在线激活修复)如果输入实例是托管实例,则运行 aws:runCommand 来运行 PowerShell 脚本,以尝试修复 Windows 激活。

    2. (离线激活修复)如果输入实例不是托管实例:

      1. aws:assertAwsResourceProperty - 验证 AllowOffline 标志是否设置为 True。如果是,则启动离线修复,否则工作流程结束。

      2. aws:executeAutomation - 使用 Windows 激活离线修复脚本调用 AWSSupport-StartEC2RescueWorkflow。此脚本根据操作系统版本使用 EC2Config 或 EC2Launch。

      3. aws:executeAwsApi - 从 AWSSupport-StartEC2RescueWorkflow 读取结果。

输出

activateWindows.Output

getActivateWindowsOfflineResult.Output