

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 EC2Config 重設 EC2 執行個體的 Windows 管理員密碼
<a name="ResettingAdminPassword_EC2Config"></a>

如果您遺失了 Windows 管理員密碼，且使用 Windows Server 2016 之前的 Windows AMI，您可以使用 EC2Config 代理程式產生新密碼。

如果您使用的是 Windows Server 2016 或更新版本 AMI，請參閱 [使用 EC2Launch 重設 EC2 執行個體的 Windows 管理員密碼](ResettingAdminPassword_EC2Launch.md)，或您可透過 [EC2Rescue 工具](Windows-Server-EC2Rescue.md)以利用 EC2Launch 服務產生新密碼。

**注意**  
如果您已停用執行個體上的本機管理員帳戶，且已為 Systems Manager 設定您的執行個體，您也可以使用 EC2Rescue 和執行命令來重新啟用和重設本機管理員密碼。如需詳細資訊，請參閱[搭配使用 EC2Rescue for Windows Server 與 Systems Manager 執行命令](ec2rw-ssm.md)。

**注意**  
有一個 AWS Systems Manager 自動化文件會自動套用重設本機管理員密碼所需的手動步驟。如需詳細資訊，請參閱「AWS Systems Manager 使用者指南」**中的[在 EC2 執行個體重設密碼和 SSH 金鑰](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-ec2reset.html)。

若要使用 EC2Config 來重設 Windows 管理員密碼，您需要執行下列步驟：
+ [步驟 1：確認 EC2Config 服務在執行中](#resetting-password-ec2config-step1)
+ [步驟 2：將根磁碟區從執行個體中分離](#resetting-password-ec2config-step2)
+ [步驟 3：將磁碟區連接至暫時執行個體](#resetting-password-ec2config-step3)
+ [步驟 4：修改組態檔案](#resetting-password-ec2config-step4)
+ [步驟 5：重新啟動原始執行個體](#resetting-password-ec2config-step5)

## 步驟 1：確認 EC2Config 服務在執行中
<a name="resetting-password-ec2config-step1"></a>

嘗試重設管理員密碼之前，請確認 EC2Config 服務已安裝且正執行中。您在本節稍後會用 EC2Config 服務重設管理員密碼。

**確認 EC2Config 服務在執行中**

1. 在 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中選擇「**Instances (執行個體)**」，然後選擇需要重設密碼的執行個體。此執行個體即為本程序中的*原始*執行個體。

1. 選擇 **Actions (動作)**、**Monitor and troubleshoot (監視和故障診斷)**、**Get system log (取得系統日誌)**。

1. 找出 EC2 Agent 項目，例如：**EC2 Agent: Ec2Config service v3.18.1118**。如果找到此項目，表示 EC2Config 服務正在執行中。

   如果系統日誌輸出為空白，或如果 EC2Config 服務未執行，請用執行個體主控台螢幕擷取畫面服務為執行個體進行故障診斷。如需詳細資訊，請參閱[擷取無法連線執行個體的螢幕擷取畫面](troubleshoot-unreachable-instance.md#instance-console-screenshot)。

## 步驟 2：將根磁碟區從執行個體中分離
<a name="resetting-password-ec2config-step2"></a>

如果存放密碼的磁碟區連接至執行個體做為根磁碟區，則您無法使用 EC2Config 來重設管理員密碼。您必須將磁碟區從原始執行個體中分離，才能將磁碟區連接至暫時執行個體做為次要磁碟區。

**若要將根磁碟區從執行個體中分離**

1. 在 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選擇**執行個體**。

1. 選取需要密碼重設的執行個體，然後選擇**執行個體狀態**、**停止執行個體**。執行個體的狀態變更為 **Stopped** (已停止) 之後，請繼續下一個步驟。

1. (選用) 如果您擁有在啟動此執行個體時已指定的私有金鑰，請繼續下一個步驟。否則，請使用下列步驟將執行個體取代為使用新金鑰對啟動的新執行個體。

   1. 使用 Amazon EC2 主控台來建立新金鑰對。若要使新金鑰對的名稱與已遺失私有金鑰的金鑰對的名稱相同，您必須先刪除現有金鑰對。

   1. 選取要取代的執行個體。請注意執行個體的執行個體類型、VPC、子網路、安全群組和 IAM 角色。

   1. 選擇執行個體後，選擇**動作**、**映像和範本**、**建立映像**。輸入映像的名稱和說明，然後選擇 **Create image** (建立映像)。

   1. 在導覽窗格中，選擇 **AMIs** (AMI)。等待映像狀態變更為**可用**。然後，選擇映像並選擇**從 AMI 啟動執行個體**。

   1. 填寫欄位以啟動執行個體，確保選擇與要替換的執行個體相同的執行個體類型、VPC、子網路、安全群組和 IAM 角色，然後選擇**啟動執行個體**。

   1. 出現提示時，請選擇您為新執行個體建立的金鑰對，然後選擇**啟動執行個體**。

   1. (選用) 如果原始執行個體有關聯的 Elastic IP 地址，將其傳輸至新執行個體。如果原始執行個體除了根磁碟區之外還有 EBS 磁碟區，請將它們傳輸至新執行個體。

1. 將根磁碟區從原始執行個體中分離，如下所示：

   1. 選取原始執行個體，然後選擇**儲存**索引標籤。請注意根裝置名稱下的**根裝置名稱**。在**區塊型儲存設備**下尋找具有此裝置名稱的磁碟區，並記下磁碟區 ID。

   1. 在導覽窗格中，選擇 **Volumes** (磁碟區)。

   1. 在磁碟區清單中，選擇您記為根裝置的磁碟區，然後選擇**動作**、**分離磁碟區**。在將磁碟區狀態變更為 **available (可用)** 後，繼續下一步驟。

1. 如果您建立了新的執行個體來取代原始執行個體，您現在可以終止原始執行個體。不再需要它。對於此程序的其餘部分，原始執行個體的所有參考都會套用至您建立的新執行個體。

## 步驟 3：將磁碟區連接至暫時執行個體
<a name="resetting-password-ec2config-step3"></a>

接下來，啟動暫時執行個體，並將磁碟區連接至此執行個體做為次要磁碟區。這是您用來修改組態檔案的執行個體。

**啟動暫時執行個體並連接磁碟區**

1. 啟動暫時執行個體，如下所示：

   1. 在導覽窗格中，選擇 **Instances** (執行個體)，選擇 **Launch instances** (啟動執行個體)，然後選擇 AMI。
**重要**  
若要避免磁碟簽章衝突，您必須為不同版本的 Windows 選取 AMI。例如，如果原始執行個體執行 Windows Server 2019，則使用適用於 Windows Server 2016 的基本 AMI 啟動暫時執行個體。

   1. 保留預設執行個體類型，然後選擇 **Next: Configure Instance Details** (下一步：設定執行個體的詳細資訊)。

   1. 在 **Configure Instance Details** (設定執行個體詳細資訊) 頁面中，對於 **Subnet** (子網路)，選取與原始執行個體相同的可用區域，然後選擇 **Review and Launch** (檢閱和啟動)。
**重要**  
暫時執行個體與原始執行個體必須位於相同可用區域。如果您的暫時執行個體位於不同的可用區域，則無法將原始執行個體的根磁碟區與它連接。

   1. 在 **Review Instance Launch** (檢閱執行個體啟動) 頁面，選擇 **Launch** (啟動)。

   1. 出現提示時，建立新金鑰對，將其下載到電腦上的安全位置，然後選擇 **Launch Instances** (啟動執行個體)。

1. 將磁碟區連接到暫時執行個體作為輔助磁碟區，如下所示：

   1. 在導覽窗格中，選擇 **Volumes** (磁碟區)，選取從原始執行個體分離的磁碟區，然後選擇 **Actions** (動作)、**Attach Volume** (連接磁碟區)。

   1. 在 **Attach Volume** (連接磁碟區) 對話方塊中，對於 **Instances** (執行個體)，開始輸入暫時執行個體的名稱或 ID，然後從清單中選取執行個體。

   1. 對於 **Device** (裝置)，輸入 **xvdf** (如果尚未出現在此)，選擇 **Attach** (連接)。

## 步驟 4：修改組態檔案
<a name="resetting-password-ec2config-step4"></a>

將磁碟區連接至暫時執行個體做為次要磁碟區之後，請在組態檔案中修改 `Ec2SetPassword` 外掛程式。

**修改組態檔案**

1. 從暫時執行個體，修改次要磁碟區上的組態檔案，如下所示：

   1. 啟動並連接至暫時執行個體。

   1. 使用下列指示讓磁碟機上線：[讓 Amazon EBS 磁碟區可供使用](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-using-volumes.html)。

   1. 導覽至次要磁碟區，然後使用「記事本」等文字編輯器開啟 `\Program Files\Amazon\Ec2ConfigService\Settings\config.xml`。

   1. 在檔案頂端，找出名稱為 `Ec2SetPassword` 的外掛程式，如螢幕擷取畫面所示。將狀態從 `Disabled` 變更為 `Enabled` 並儲存檔案。  
![\[要變更之 Config.xml 檔案的區域\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/pwreset_config.png)

1. 修改組態檔案之後，將次要磁碟區從暫時執行個體中分離，如下所示：

   1. 使用 **Disk Management (磁碟管理)** 公用程式讓磁碟區離線。

   1. 中斷與暫時執行個體的連線，並返回 Amazon EC2 主控台。

   1. 在導覽窗格中選擇 **Volumes (磁碟區)**、選取磁碟區，然後選擇 **Actions (動作)**、**Detach Volume (分離磁碟區)**。在將磁碟區狀態變更為 **available (可用)** 後，繼續下一步驟。

## 步驟 5：重新啟動原始執行個體
<a name="resetting-password-ec2config-step5"></a>

修改組態檔案之後，將磁碟區重新連接至原始執行個體做為根磁碟區，然後使用金鑰對來連接至執行個體，以擷取管理員密碼。

1. 將磁碟區重新連接到原始執行個體，如下所示：

   1. 在導覽窗格中，選擇 **Volumes** (磁碟區)，選取從暫時執行個體分離的磁碟區，然後選擇 **Actions** (動作)、**Attach Volume** (連接磁碟區)。

   1. 在 **Attach Volume** (連接磁碟區) 對話方塊中，對於 **Instances** (執行個體)，開始輸入您的原始執行個體的名稱或 ID，然後選取執行個體。

   1. 對於 **Device** (裝置)，輸入 **/dev/sda1**。

   1. 選擇 **Attach** (連接)。在磁碟區狀態變更為 `in-use` 之後，繼續下一個步驟。

1. 在導覽窗格中，選擇 **Instances** (執行個體)。選取原始執行個體，然後依序選擇 **Instance state** (執行個體狀態)、**Start instance** (啟動執行個體)。在執行個體狀態變更為 `Running` 之後，繼續下一個步驟。

1. 使用新金鑰對的私有金鑰擷取新的 Windows 系統管理員密碼，然後連線到執行個體。如需詳細資訊，請參閱 [使用 RDP 連線至您的 Windows 執行個體](connecting_to_windows_instance.md)。
**重要**  
先停止執行個體，接著再啟動後，該執行個體將得到新的公有 IP 地址。務必使用目前的公有 DNS 名稱連接至執行個體。如需詳細資訊，請參閱 [Amazon EC2 執行個體狀態變更](ec2-instance-lifecycle.md)。

1. (選用) 如果不再使用暫時執行個體，您可以終止它。選取暫時執行個體，再依序選擇 **Instance State** (執行個體狀態)、**Terminate instance** (終止執行個體)。