

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

# `AWSSupport-TroubleshootRDP`
<a name="automation-awssupport-troubleshootrdp"></a>

 **Description** 

`AWSSupport-TroubleshootRDP` Runbook 允許使用者檢查或修改目標執行個體上的常見設定，這可能會影響遠端桌面通訊協定 (RDP) 連線，例如 RDP 連接埠、網路層身分驗證 (NLA) 和 Windows 防火牆設定檔。或者，如果使用者明確允許離線修復，則可藉由停用和啟動執行個體以離線套用變更。根據預設，執行手冊會讀取和輸出設定的值。

**重要**  
使用此 Runbook 之前，應仔細檢閱 RDP 設定、RDP 服務和 Windows 防火牆設定檔的變更。

[執行此自動化 （主控台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootRDP)

**文件類型**

 自動化

**擁有者**

Amazon

**平台**

Windows

**參數**
+ 動作

  類型：字串

  有效值：CheckAll \$1 FixAll \$1 Custom

  預設：Custom

  描述：（選用） 【自訂】 使用 Firewall、RDPServiceStartupType、RDPServiceAction、RDPPortAction、NLASettingAction 和 RemoteConnections 的值來管理設定。【CheckAll】 讀取設定的值而不變更。【FixAll】 還原 RDP 預設設定，並停用 Windows 防火牆。
+ AllowOffline

  類型：字串

  有效值：true \$1 false

  預設：false

  描述：(選用) Fix only - 若您想在線上疑難排解失敗或所提供的執行個體非受管執行個體時允許離線 RDP 修復，請將其設定為 true。備註：對於離線修復，SSM 自動化會停止執行個體，並在嘗試任何操作前建立 AMI。
+ AutomationAssumeRole

  類型：字串

  描述：（選用） 允許 Systems Manager Automation 代表您執行動作的 (IAM) 角色的 AWS Identity and Access Management Amazon Resource Name (ARN)。如果未指定角色，Systems Manager Automation 會使用啟動此 Runbook 的使用者許可。
+ 防火牆

  類型：字串

  有效值：檢查 \$1 停用

  預設：Check

  描述：(選用) 檢查或停用 Windows 防火牆 (所有描述檔)。
+ InstanceId

  類型：字串

  描述：(必要) 疑難排解 RDP 設定的受管執行個體之 ID。
+ NLASettingAction

  類型：字串

  有效值：檢查 \$1 停用

  預設：Check

  描述：(選用) 檢查或停用網路層身分驗證 (NLA)。
+ RDPPortAction

  類型：字串

  有效值：檢查 \$1 修改

  預設：Check

  描述：(選用) 檢查目前用於 RDP 連線的連接埠，或將 RDP 連接埠修改回 3389 並重新啟動服務。
+ RDPServiceAction

  類型：字串

  有效值：檢查 \$1 開始 \$1 重新啟動 \$1 Force-Restart

  預設：Check

  描述：(選用) 檢查、啟動、重新啟動或強制重新啟動 RDP 服務 (TermService)。
+ RDPServiceStartupType

  類型：字串

  有效值：檢查 \$1 Auto

  預設：Check

  描述：(選用) 檢查或設定 RDP 服務以在 Windows 開機時自動啟動。
+ RemoteConnections

  類型：字串

  有效值：檢查 \$1 啟用

  預設：Check

  描述：(選用) 在 fDenyTSConnections 設定上執行的動作：Check，Enable。
+ S3BucketName

  類型：字串

  描述：(選用) 僅限離線 - 您想要上傳疑難排解日誌之帳戶中的 S3 儲存貯體名稱。請確認儲存貯體政策不會授予不必要的讀取/寫入許可給不需要存取所收集日誌的單位。
+ SubnetId

  類型：字串

  預設：SelectedInstanceSubnet

  描述：(選用) 僅限離線 - 用於執行離線疑難排解的 EC2Rescue 執行個體之子網路 ID。如果未指定子網路 ID， AWS Systems Manager Automation 將建立新的 VPC。重要：子網路必須與 InstanceId 位於相同的可用區域，且必須允許存取 SSM 端點。

**必要的 IAM 許可**

`AutomationAssumeRole` 參數需要下列動作才能成功使用 Runbook。

建議接收命令的 EC2 執行個體具備連接 **AmazonSSMManagedInstanceCore** Amazon 受管政策的 IAM 角色。對於線上修復，使用者必須至少有 **ssm：DescribeInstanceInformation**、**ssm：StartAutomationExecution** 和 **ssm：SendCommand** 來執行自動化並將命令傳送至執行個體，加上 **ssm：GetAutomationExecution**，才能讀取自動化輸出。對於離線修復，使用者必須至少有 **ssm：DescribeInstanceInformation**、**ssm：StartAutomationExecution**、**ec2：DescribeInstances** 以及 **ssm：GetAutomationExecution**，才能讀取自動化輸出。 `AWSSupport-TroubleshootRDP` 呼叫 `AWSSupport-ExecuteEC2Rescue` 以執行離線修復 - 請檢閱 的許可`AWSSupport-ExecuteEC2Rescue`，以確保您可以成功執行自動化。

 **文件步驟** 

1. `aws:assertAwsResourceProperty` - 檢查執行個體是否為Windows Server執行個體

1. `aws:assertAwsResourceProperty` - 檢查執行個體是否為受管執行個體

1. (線上疑難排解) 若執行個體為受管執行個體，則：

   1. `aws:assertAwsResourceProperty` - 檢查提供的動作值

   1. (線上檢查) 若 **Action = CheckAll**，則：

      `aws:runPowerShellScript` - 執行 PowerShell 指令碼以取得 Windows Firewall 設定檔狀態。

      `aws:executeAutomation` - 呼叫 `AWSSupport-ManageWindowsService` 以取得 RDP 服務狀態。

      `aws:executeAutomation` - 呼叫 `AWSSupport-ManageRDPSettings` 以取得 RDP 設定。

   1. (線上修復) 若 **Action = FixAll**，則：

      `aws:runPowerShellScript` - 執行 PowerShell 指令碼以停用所有 Windows 防火牆設定檔。

      `aws:executeAutomation` - 呼叫 `AWSSupport-ManageWindowsService`以啟動 RDP 服務。

      `aws:executeAutomation` - 呼叫 `AWSSupport-ManageRDPSettings` 以啟用遠端連線並停用 NLA。

   1. (線上管理) 若 **Action = Custom **，則：

      `aws:runPowerShellScript` - 執行 PowerShell 指令碼來管理 Windows 防火牆設定檔。

      `aws:executeAutomation` - 呼叫 `AWSSupport-ManageWindowsService` 來管理 RDP 服務。

      `aws:executeAutomation` - 呼叫 `AWSSupport-ManageRDPSettings` 來管理 RDP 設定。

1. (離線修復) 如果執行個體不是受管執行個體，則：

   1. `aws:assertAwsResourceProperty` - Assert **AllowOffline = true**

   1. `aws:assertAwsResourceProperty` - 宣告**動作 = FixAll**

   1. `aws:assertAwsResourceProperty` - 宣告 SubnetId 的值

      (使用所提供執行個體的子網路) 若 SubnetId 為 SELECTED\$1INSTANCE\$1SUBNET

      `aws:executeAwsApi` - 擷取目前執行個體的子網路。

      `aws:executeAutomation` - `AWSSupport-ExecuteEC2Rescue`使用提供的執行個體子網路執行 。

   1. (使用提供的自訂子網路) 若 SubnetId 不是 SELECTED\$1INSTANCE\$1SUBNET

      `aws:executeAutomation` - `AWSSupport-ExecuteEC2Rescue`使用提供的 SubnetId 值執行 。

 **輸出** 

manageFirewallProfiles.Output

manageRDPServiceSettings.Output

manageRDPSettings.Output

checkFirewallProfiles.Output

checkRDPServiceSettings.Output

checkRDPSettings.Output

disableFirewallProfiles.Output

restoreDefaultRDPServiceSettings.Output

restoreDefaultRDPSettings.Output

troubleshootRDPOffline.Output

troubleshootRDPOfflineWithSubnetId.Output