选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

使用 EC2Rescue 和 Systems Manager 对受损的 Windows 实例进行问题排查

聚焦模式
使用 EC2Rescue 和 Systems Manager 对受损的 Windows 实例进行问题排查 - Amazon Elastic Compute Cloud

支持 为您提供了 Systems Manager Run Command 文档,目的是与您启用了 Systems Manager 的实例交互来运行 EC2Rescue for Windows Server。Run Command 文档称为 AWSSupport-RunEC2RescueForWindowsTool

此 Systems Manager Run Command 文档执行下列任务:

  • 下载并验证 EC2Rescue for Windows Server。

  • 导入 PowerShell 模块以使您与此工具的交互变得简单。

  • 使用提供的命令和参数运行 EC2RescueCmd。

Systems Manager Run Command 文档接受三个参数:

  • 命令 — EC2Rescue for Windows Server 操作。当前允许的值如下:

    • ResetAccess — 重置本地管理员密码。将会重置当前实例的本地管理员密码,并且随机生成的密码将会作为 /EC2Rescue/Password/<INSTANCE_ID> 安全地存储在 Parameter Store 中。如果您选择此操作并且不提供任何参数,则密码将自动使用默认的 KMS 密钥 密钥加密。(可选)可以在参数中指定 KMS 密钥 ID,以使用您自己的密钥来加密密码。

    • CollectLogs — 使用 /collect:all 操作运行 EC2Rescue for Windows Server。如果选择此操作,Parameters 必须包含将日志上传到的 Amazon S3 存储桶名称。

    • FixAll — 使用 /rescue:all 操作运行 EC2Rescue for Windows Server。如果您选择此操作,Parameters 必须包含要抢救的块储存设备名称。

  • 参数 — 要为指定命令传递的 PowerShell 参数。

要求

要运行 ResetAccess 操作,您的 Amazon EC2 实例必须附加策略,以授予将加密的密码写入 Parameter Store 的权限。附加策略后,请等待几分钟,然后再将此策略附加到相关 IAM 角色后尝试重置实例的密码。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:PutParameter" ], "Resource": [ "arn:aws:ssm:region:account_id:parameter/EC2Rescue/Passwords/<instanceid>" ] } ] }

如果您使用的是自定义 KMS 密钥而不是默认 KMS 密钥,请使用此策略。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:PutParameter" ], "Resource": [ "arn:aws:ssm:region:account_id:parameter/EC2Rescue/Passwords/<instanceid>" ] }, { "Effect": "Allow", "Action": [ "kms:Encrypt" ], "Resource": [ "arn:aws:kms:region:account_id:key/<kmskeyid>" ] } ] }

查看文档的 JSON

以下过程介绍了如何查看此文档的 JSON。

查看 Systems Manager Run Command 文档的 JSON
  1. 访问 https://console.aws.amazon.com/systems-manager/,打开 AWS Systems Manager 控制台。

  2. 在导航窗格中,展开变更管理工具,然后选择文档

  3. 在搜索栏中,输入 AWSSupport-RunEC2RescueForWindowsTool,然后选择 AWSSupport-RunEC2RescueForWindowsTool 文档。

  4. 选择内容选项卡。

示例

下面是一些有关如何使用 Systems Manager Run Command 文档通过 AWS CLI 运行 EC2Rescue for Windows Server 的示例。有关使用 AWS CLI 发送命令的更多信息,请参阅 send-command

尝试修复脱机根卷上的所有已识别问题

尝试修复在附加到 Amazon EC2 Windows 实例的脱机根卷上发现的所有问题:

aws ssm send-command --instance-ids "i-0cb2b964d3e14fd9f" --document-name "AWSSupport-RunEC2RescueForWindowsTool" --parameters "Command=FixAll, Parameters='xvdf'" --output text

从当前 Amazon EC2 Windows 实例收集日志

从当前的在线 Amazon EC2 Windows 实例收集所有日志并将日志上传到 Amazon S3 存储桶:

aws ssm send-command --instance-ids "i-0cb2b964d3e14fd9f" --document-name "AWSSupport-RunEC2RescueForWindowsTool" --parameters "Command=CollectLogs, Parameters='amzn-s3-demo-bucket'" --output text

重置本地管理员密码

下面的示例显示了可用于重置本地管理员密码的方法。输出提供了一个指向 Parameter Store 的链接,在那里您可以找到随机生成的安全密码,然后您可以使用它以本地管理员身份来 RDP 到您的 Amazon EC2 Windows 实例。

使用默认的 AWS KMS key 密钥 alias/aws/ssm 重置联机实例的本地管理员密码:

aws ssm send-command --instance-ids "i-0cb2b964d3e14fd9f" --document-name "AWSSupport-RunEC2RescueForWindowsTool" --parameters "Command=ResetAccess" --output text

使用 KMS 密钥 重置联机实例的本地管理员密码:

aws ssm send-command --instance-ids "i-0cb2b964d3e14fd9f" --document-name "AWSSupport-RunEC2RescueForWindowsTool" --parameters "Command=ResetAccess, Parameters=a133dc3c-a2g4-4fc6-a873-6c0720104bf0" --output text
注意

在此示例中,KMS 密钥 为 a133dc3c-a2g4-4fc6-a873-6c0720104bf0

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。