客戶自行管理的 Active Directory (CMAD) 診斷工具是 PowerShell 指令碼公用程式,可協助您在 Google Cloud中與 Cloud SQL 整合之前或期間,排解網域的 Active Directory 設定問題。
這項工具會執行各種檢查,找出問題,例如關閉的通訊埠、網域控制器 (DC) 可連性、帳戶狀態,以及組織單位 (OU) 是否存在和權限。這項服務會在 Windows VM 上執行,該 VM 是 Active Directory 網域的其中一個網域控制器,或已加入網域的機器。
本頁面說明如何使用 Cloud SQL 的 CMAD 診斷工具,以及該工具執行的檢查。
必要條件
使用 CMAD 診斷工具前,請確認您已設定下列元件:
- Active Directory 網域。
- Active Directory 管理員帳戶,具備將電腦加入目標機構單位的權限。
- Active Directory 中的組織單位 (OU),Cloud SQL 電腦帳戶會建立於此。
- 如果是在已加入網域的 VM (而非網域控制器) 上執行指令碼,則必須安裝 Active Directory module for PowerShell (
RSAT-AD-PowerShell)。
如何使用 CMAD 診斷工具
如要使用 CMAD 診斷工具,請按照下列步驟操作:
- 登入任一網域控制器,或加入 Active Directory 網域的 VM。
- 在 VM 上下載
diagnose_cmad.ps1指令碼。 - 以管理員身分啟動 PowerShell。
在 PowerShell 視窗中使用下列指令執行
diagnose_cmad.ps1指令碼:C:\SCRIPT_PATH\diagnose_cmad.ps1
將 SCRIPT_PATH 替換為指令碼下載位置的目錄路徑。
在系統提示時輸入以下內容:
- 地端部署網域名稱,例如
my-domain.com - AD 管理員帳戶,例如
myadmin - 目標機構單位,例如
OU=cloud,DC=my-domain,DC=com
- 地端部署網域名稱,例如
接著,工具會執行多項檢查,詳情請參閱「CMAD 診斷工具執行的檢查」。
CMAD 診斷工具執行的檢查
| 檢查 | 說明 | 附註和建議 |
|---|---|---|
| 可用的網域控制站 | 對地端部署網域中每個網域控制站的 IP 位址發出連線偵測 (ping),確保這些位址可連線。 | 其餘檢查會針對可連線的 IP 位址進行。如果這項檢查失敗,請確認其餘地端部署網域控制器的網路連線。詳情請參閱「建立網路基礎架構」。 |
| 通訊埠 | 確認所有地端部署網域控制站上,AD 所需的 TCP 和 UDP 通訊埠皆已開啟。 | 這項檢查會針對 RPC 通訊埠範圍 (49152-65535) 傳回警告狀態,因為該範圍沒有一致的開放通訊埠清單。建議您確認是否已設定防火牆規則集,允許這個範圍。詳情請參閱「客戶自行管理的 Active Directory 防火牆規則」。 |
| DC 複製 | 尋找地端部署網域控制站之間的 AD 複製失敗。 | 如果指令碼是在加入地端部署網域的 VM 上執行,且 Powershell 不是以 Active Directory 網域使用者身分執行,則會顯示失敗狀態。如果這項檢查失敗,請按照「測試安裝」中的步驟操作。 |
| Kerberos 服務 (SRV) 記錄 |
查詢本機 DNS 的 _kerberos._tcp 和 _kerberos._udp SRV 記錄,並確認目標主機與提供的網域名稱正確相符。
詳情請參閱 Microsoft 的 SRV 記錄說明文件。 |
如果這項檢查失敗,請確認 Active Directory 網域的 DNS SRV 記錄存在且設定正確。 |
| AD 管理員帳戶狀態 | 驗證為 CMAD 整合指定的管理員帳戶是否存在、已啟用、未鎖定且未過期。 | 如果這項檢查失敗,請解鎖使用者帳戶、在 Active Directory 使用者和電腦 (ADUC) 中啟用帳戶,或在密碼過期時更新 Secret Manager 中的憑證。 |
| 組織單位 (OU) | 確認目標組織單位 (OU) 辨別名稱 (DN) 存在於 Active Directory 中。 |
如果這項檢查失敗,請確認目標機構單位存在於 Active Directory 中,且提供的辨別名稱 (例如 OU=cloud,DC=my-domain,DC=com) 格式正確。
|
| 機構單位權限 | 確認 Active Directory 管理員帳戶具備 Cloud SQL 在目標機構單位所需的權限,包括帳戶透過群組成員資格取得的權限。 |
如果這項檢查失敗,請按照 CMAD 總覽中「事前準備」一節的說明,將缺少的權限委派給管理員帳戶,並移除套用至該帳戶或其群組的機構單位中任何「拒絕」權限項目。 如果這項檢查傳回警告,表示工具無法讀取帳戶的群組成員資格。確認帳戶是否透過群組取得缺少的權限。 |
後續步驟
- 如要提供意見,請使用 GitHub Issues。