GCDS 錯誤訊息

使用 Google Cloud Directory Sync (GCDS) 時,您可能會看到下列錯誤訊息。請根據下表說明排解錯誤。

試用 Log 分析工具

大部份情況下,這項工具很快就能確認問題癥結所在。

錯誤訊息與解決方式

錯誤訊息 說明與解決方式
Network problem: Unable to connect to the specified LDAP server: simple bind failed: servername:636, reason: SSLHandshakeException - No subject alternative names present

Network problem: Unable to connect to the specified LDAP server: simple bind failed: servername:636, reason: SSLHandshakeException - No subject alternative DNS name matching servername found

憑證的一般名稱 (CN) 和主體別名 (SAN) 與 GCDS 設定檔中的 LDAP 伺服器名稱不符。

如要修正這項錯誤,請採取以下任一做法:

  • 修正 GCDS 設定檔。如果您已在 GCDS 設定中新增 LDAP 伺服器 IP 位址,請一併輸入其完整網域名稱 (FQDN),例如 dc01.solarmora.com
  • 將 SAN 新增至憑證:請確認 SAN 包含您在 GCDS 設定中使用的 LDAP 伺服器名稱。

如想採取臨時替代方案,您可以在 GCDS 安裝資料夾的 config-manager.vmoptionssync-cmd.vmoptions 檔案中新增一行,藉此關閉端點識別功能。請先移除換行符號,再將內容新增至檔案:

-Dcom.sun.jndi.ldap.object. disableEndpointIdentification=true

sun.security.provider.certpath.SunCertPathBuilder Exception: unable to find valid certification path to requested target

ldap_simple_bind_s() failed: Strong Authentication Required
請按照「排解憑證相關問題」的步驟操作。
InvalidCipherTextException: Invalid encryption parameters. Salt/Iteration/Initialization Vector 如果您是在沒有 GUI 的電腦上執行 GCDS,您可能未正確匯入金鑰。如需詳細步驟,請參閱「如何在沒有 GUI 的電腦上授權 GCDS?」一節。
java.lang.RuntimeException: Encountered unrecoverable SQLException. The state database specified "*path-to-folder*\syncState\*folder-name*" 找出並刪除郵件中指出的資料夾,然後再次開始同步作業。
java.sql.SQLException: Invalid checksum on Page

其他程序與 GCDS 同時存取快取資料夾或檔案。

如要排解問題,請下載並執行 Microsoft 的 Process Monitor,並建立篩選器。在篩選器選項中,使用「Path」、「Contains」和「*path-to-folder*\syncState」找出正在存取資料夾或檔案的程序。詳情請參閱「Process Monitor」。

Invalid Input: query 您在「使用者搜尋查詢」欄位中輸入了無效的查詢。請移除搜尋查詢,或確保搜尋查詢符合「搜尋使用者」中的搜尋規範。如要進一步瞭解使用者搜尋查詢,請參閱「運用排除規則和查詢略過資料」。
SocketException - Connection reset

如果您在連線至 LDAP 伺服器時收到這則訊息,表示伺服器已關閉連線。可能原因如下:

  • 您使用的是 LDAP + SSL,但 LDAP 伺服器未設為接受 GCDS 支援的 TLS 參數 (例如加密套件)。請確保 LDAP 伺服器採用最新的安全性更新和設定。
  • 防火牆規則封鎖連線。
A lock could not be obtained within the time requested 如何排解這個問題:
  1. 確保電腦上只有一個 GCDS 執行個體正在執行。您一次只能使用同一個 XML 檔案執行一個 GCDS 執行個體。
  2. 請重新啟動系統,以確保沒有其他程序存取 GCDS 快取資料庫,然後再次執行同步處理作業。
  3. 如果問題仍未解決,請找出 SyncState 資料夾並將其重新命名,強制 GCDS 建立新的快取資料庫。您可以在使用者設定檔資料夾 (Windows) 或主目錄 (Linux) 中找到該資料夾。
Error 400: invalid_request: The version of the app you're using doesn't include the latest security features to keep you protected. Please make sure to download from a trusted source and update to the latest, most secure version. 請確認您使用的是最新版 GCDS。詳情請參閱「更新 GCDS」。
java.sql.SQLException: Directory <directory> cannot be created. GCDS 必須具備目錄的完整權限,才能維護資料庫的同步狀態。您看到這則錯誤訊息的可能原因如下:
  • GCDS 目前並非透過當初安裝 GCDS 的使用者執行
  • 權限自安裝後已有所變更
org.jdom.input.JDOMParseException: Error on line 1: Content is not allowed in prolog

GCDS 正在嘗試載入的設定檔含有不支援的字元編碼。GCDS 使用 UTF-8 做為預設字元編碼。雖然其他編碼可以相容,我們還是建議您在設定檔中使用相同的編碼。

如何解決這個問題:

  1. 改用 UTF-8 做為設定檔的編碼:
    1. 開啟文字編輯器。
    2. 使用不同的編碼儲存檔案。
  2. 確認設定檔中的內容正確無誤。
  3. 再次嘗試使用 GCDS 載入設定檔。

不支援的編碼以 UTF-7 和 UTF-8 BOM 最為常見。

javax.net.ssl.SSLHandshakeException: connection during handshake

網路連線發生問題,導致 GCDS 無法與 Google 伺服器完成安全資料傳輸層 (SSL) 交握。原因可能是裝置轉送封包的速度過慢,或是您的網際網路服務供應商暫時無法提供服務。GCDS 會嘗試完成 SSL 交握 (最多 3 次)。如果記錄中顯示下列訊息,表示 GCDS 在後續嘗試時成功完成交握,您無需進一步處理:[usersyncapp.sync.FullSyncAgent] No differences detected, no changes necessary.

請與您的區域網路管理員合作找出導致網路逾時的可能原因。

Quota exceeded for the current request 如果在記錄中看到這則錯誤訊息,表示 GCDS 暫時無法使用 Google API。GCDS 會重試 API,接著同步作業應會繼續照常運作。如果同步處理摘要報表顯示錯誤訊息,但同步處理作業未正確完成,請與支援團隊聯絡。詳情請參閱「與支援團隊聯絡前應備妥哪些 GCDS 資訊?
java.lang.RuntimeException: Unknown LDAP search rule scope "null" 在「設定管理員」中,下列其中一個部分的規則不含任何內容:
  • LDAP 設定 機構單位 搜尋規則
  • LDAP 設定 使用者 使用者同步
  • LDAP 設定 群組 群組搜尋規則
  • LDAP 設定 使用者設定檔 使用者設定檔同步
  • LDAP 設定 共用聯絡人 聯絡人同步
詳情請參閱「使用設定管理員完成同步處理設定」。
Invalid digest length for password 未在「設定管理員」中正確設定同步密碼時所用的密碼加密方法,或 GCDS 不支援 LDAP 伺服器所使用的加密方法 (支援明文、Base64、MD5 和 SHA1)。如要與 Microsoft Active Directory 同步處理密碼,請使用 Password Sync。詳情請參閱「如何同步處理密碼?」和「更新 GCDS」。
0 nested group(s) 如要解決這個問題:
  1. 在設定檔的 <features> 區段中新增以下指令行:

    GROUP_NESTED_GROUPS_AS_USERS

  2. 在指令行前後加上 <optional> 標記。
  3. 儲存設定檔並進行同步處理。
Suspend user

如果您在設定管理員以外複製設定檔,藉此執行同步作業,GCDS 可能會嘗試做出預期之外的變更。新的設定檔所存取的快取版本與原始設定檔相同,兩者之間的不一致可能會造成使用者遭到停權。

如要複製 GCDS 設定檔,請一律使用設定管理員中的「另存新檔」選項,以確保新的設定檔擁有本身的快取版本。

詳情請參閱「使用設定檔處理作業」。

Skipping unknown member

您使用的 GCDS XML 設定檔版本過舊,且您設定的使用者搜尋規則未包含 GCDS 要處理的群組成員。建議您將所有群組成員和擁有者納入使用者搜尋規則,即使不要將這些使用者同步到 Google 網域亦然。GCDS 需要擷取這些使用者的電子郵件地址,才能正確處理群組同步作業。

或者,您也可以建立新的 XML 空白設定檔。GCDS 隨即會啟用獨立群組同步作業,強制 GCDS 忽略使用者同步處理規則來解析群組成員。如果您不確定問題所在,建議您採取這個做法。

變更任何設定或建立新設定檔時,請確實執行模擬並檢查結果,然後再執行完整同步作業。

詳情請參閱「定義您的使用者清單」。

com.google.data.client.GoogleServiceException: Invalid credentials

您在「設定管理員」中指定的管理員帳戶並非管理員,或是使用者名稱和密碼不正確。

請在「設定管理員」中依序前往「Google Domain」(Google 網域) 「Settings」(設定),然後驗證「Admin Email Address」(管理員電子郵件地址) 中指定的管理員帳戶資訊。

詳情請參閱「定義您的 Google 網域設定」。

com.google.gdata.util.ResourceNotFoundException: 在設定管理員的「共用聯絡人」部分中指定的同步金鑰屬性從您的 LDAP 伺服器傳回空值。從 LDAP 伺服器為所有資源選取包含同步金鑰值的屬性,則不會傳回空值或空白字串。
Computed differences exceed configured deletion limits, not applying changes 達到 GCDS 中設定的刪除或停權限制。請變更 GCDS 的「Delete Limits」(刪除限制) 設定以避免這項錯誤;您也可以查看同步紀錄,瞭解原本要刪除/停權的內容,並決定是否需要變更限制。
InvalidEmail 解決方法:
  • 在「設定管理員」中依序前往「User Accounts」(使用者帳戶) 「Exclusion Rules」(排除規則),然後建立排除使用者的規則,藉此排除外部網域的使用者。
  • 變更使用者搜尋規則,避免傳回外部網域的使用者。
  • 將遺失的網域新增至您的 Google 帳戶,做為次要網域。
Domain user limit reached GCDS 同步處理的使用者超過帳戶佈建的數量。解決方法:
  • 在「設定管理員」中,依序前往「User Accounts」(使用者帳戶) 「Search rules」(搜尋規則),然後限縮使用者搜尋範圍,讓系統傳回較少的使用者。
  • 確認您在「設定管理員」中指定了適當的基準辨別名稱 (DN);該辨別名稱指向的根目錄應只包含需要匯入 Google 網域的使用者。
  • 您也可以取得更多使用者授權,詳情請參閱「購買更多使用者授權」。
java.lang.RuntimeException: javax.naming.InvalidNameException: [LDAP: error code 34 - invalid DN] 「設定管理員」中指定的基準 DN 可能指向不存在於您 LDAP 伺服器的物件。請檢查 LDAP 連線、使用者、群組、設定檔和共用聯絡人篩選器部分中指定的基準 DN,確實使用現有物件做為基準 DN。
java.security.cert.CertPathValidatorException: revocation status check failed: no CRL found

其他服務或網路裝置阻止 GCDS 連線至憑證授權單位,因此無法為 API 取得 HTTPS 憑證。請檢查防火牆或 Proxy 規則,找出可能對執行 GCDS 的裝置設定連線限制的部分。如果需要 Proxy 才能從執行 GCDS 的裝置存取網路,則必須正確設定。

如要解決這個問題,您可以停用憑證撤銷清單 (CRL) 檢查功能。請在 GCDS 安裝目錄的 config-manager.vmoptionssync-cmd.vmoptions 檔案中新增下列指令行,即可停用 CRL 檢查功能:

-Dcom.sun.net.ssl.checkRevocation=false
-Dcom.sun.security.enableCRLDP=false

詳情請參閱「GCDS 如何檢查憑證撤銷清單」。

javax.naming.directory.InvalidSearchFilterException: Unbalanced parenthesis; remaining name 在「設定管理員」中,下列一或多個頁面上指定的查詢未含成對的括號:
  • 「LDAP Configuration」(LDAP 設定) 「Org Units」(機構單位) 「Search Rules」(搜尋規則)
  • 「LDAP Configuration」(LDAP 設定) 「Users」(使用者) 「User Sync」(使用者同步處理)
  • LDAP 設定 群組 群組搜尋規則
  • 「LDAP Configuration」(LDAP 設定) 「User Profiles」(使用者設定檔) 「User Profiles Sync」(使用者設定檔同步處理)
  • 「LDAP Configuration」(LDAP 設定) 「Shared Contacts」(共用聯絡人) 「Contacts Sync」(聯絡人同步處理)
Root exception is javax.naming.CommunicationException: *servername*:389

GCDS 無法解析指定的 LDAP 伺服器名稱。請確實為 LDAP 伺服器輸入完整的網域名稱,並確認執行 GCDS 的電腦能夠解析該名稱。

注意:使用 Active Directory 時,請將網域的完整網域名稱做為伺服器名稱。

SSL peer shut down incorrectly

這個問題通常是因為強制透過 Proxy 傳輸流量所致。如果您使用 Proxy,必須指定 GCDS Proxy 設定。請完成「允許存取網址和通訊埠」一文中的步驟,確認 GCDS 可連上這些特定網址和通訊埠。

本機電腦上的安全性軟體可能會引發連線問題。請要求管理員停用用戶端電腦上的安全防護軟體,然後再試一次。

You are not authorized to access this API 確認已啟用必要的 Google API。詳情請參閱「授權給您的 Google 帳戶」。
Domain user limit exceeded 您嘗試新增的使用者人數超過您所擁有的使用者授權數。請與您的業務代表聯絡,購買更多使用者授權,或是變更 LDAP 查詢,減少同步處理的使用者人數。
java.lang.RuntimeException: Failed to execute query because the object at Base DN: "DC=domain,DC=com" is missing or inaccessible

請先檢查「LDAP 設定」分頁的 DN,以及您曾覆寫基準 DN 的任何搜尋規則中的 DN。如果問題仍未解決,且您確定 DN 有效,問題就可能是出在 DNS 解析。您可能會在記錄中看到其他錯誤相關資訊,例如:

  • javax.naming.PartialResultException [Root exception is javax.naming.CommunicationException: domain.com:389 [Root exception is java.net.ConnectException: Connection refused: connect]]
  • javax.naming.PartialResultException [Root exception is javax.naming.CommunicationException: domain.com:389 [Root exception is java.net.ConnectException: Connection timed out: connect]]

如果出現這類錯誤,表示主機名稱拒絕連線或發生逾時。請嘗試對這個主機名稱執行 DNS 查詢,並確認所有傳回的位址均為有效,且允許您所設定的通訊埠連線。

注意:即使您已在 GCDS 設定中指定了有效的主機名稱或 IP 位址,仍有可能發生這類錯誤。Active Directory 可能會發出 LDAP 參照連結網址回應,讓 GCDS 透過主機名稱進行連線,這個參照連結網址最終可能導向無法解析的主機名稱。如要避免出現這類參照網址,請使全域目錄通訊埠 (預設為 3268) 連線到 Active Directory 伺服器。詳情請參閱 Microsoft 說明文件。

Character is invalid at location

自訂架構中的部分資訊無效。如要查看適用於自訂架構的限制,請參閱「Directory API:自訂使用者欄位」。

如果您啟用了追蹤層級記錄,也可以查看自訂架構的完整 HTTP 要求。

java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: GC overhead limit exceeded 已超過指定的記憶體上限。此事件會導致同步失敗。如要解決這個問題,請參閱「如果發現記憶體相關錯誤訊息該怎麼辦?
Failed trying to connect to the specified LDAP server GCDS 無法連線至 LDAP 伺服器。請確認下列事項:
  • 使用正確的通訊協定。如果 LDAP 伺服器要求使用安全的通訊協定,請使用 LDAP + 安全資料傳輸層 (SSL)。
  • LDAP 伺服器已啟用,且沒有任何連線問題。
Network problem: Unable to connect to the specified LDAP server GCDS 找不到 LDAP 伺服器。請確認執行 GCDS 的電腦須可存取指定的主機和通訊埠。
Authentication problem: Unable to connect using the credentials supplied LDAP 伺服器因驗證問題而拒絕 GCDS 要求。請確認獲得授權的使用者及其密碼資訊皆正確無誤。您應使用完整 DN 新增獲得授權的使用者。如要進一步瞭解如何新增獲得授權的使用者,請參閱「LDAP 連線設定」。
Failed to execute query at Base DN <*base-dn*> GCDS 無法連線至基準 DN。請確認下列事項:
  • 基準 DN 存在於 LDAP 伺服器。
  • 獲得授權的使用者具備基準 DN 相關權限。詳情請參閱「LDAP 連線設定」。
Failed to execute query at Base DN <*base-dn*> for attribute: <*attribute*>, reason: NameNotFoundException GCDS 無法從 LDAP 伺服器擷取資訊。請確認下列事項:
  • <*base-dn*> 物件確實存在,且可供獲得授權的使用者存取。詳情請參閱「LDAP 連線設定」。
  • <*屬性*> 存在於 LDAP 伺服器的 <*基準 DN*> 物件中。
Member already exists 您看到這則錯誤訊息的可能原因如下:
  • 成員的主要 LDAP 位址為 Google Workspace 的別名地址。請盡可能避免這種情況 (例如針對別名採用不同的使用者名稱)。
  • 使用者帳戶的 2 個別名地址採用了相同的使用者名稱,而且您在「Google Domain Configuration」(Google 網域設定) 頁面上勾選了「Replace domain names in LDAP email addresses」(取代 LDAP 電子郵件地址的網域名稱) 方塊。如果勾選此方塊,上述兩個電子郵件地址的網域部分都會變更為「Alternate email domain」(備用電子郵件網域) 欄位所列的網域。

取消勾選方塊,或變更其中一個別名使用者名稱。

如果記錄中一併顯示以下錯誤訊息:「Error while adding member *user-email-address* to group *group-email-address* due to address collision」,請確認以下事項:

  • GCDS 會根據您的排除規則,將使用者從「user-email-address」中排除。請檢查排除規則,然後再試一次。詳情請參閱「運用排除規則和查詢略過資料」。
  • 您已在 GCDS 之外更新使用者或群組,清除快取,然後再試一次。
Invalid Input: INVALID_OU_ID GCDS 正嘗試將使用者移入貴機構 Google 帳戶中不存在的機構單位。請調整使用者搜尋規則,然後再試一次。詳情請參閱「使用者搜尋規則」。
Quota exceeded for quota metric 'Queries' and limit 'Queries per minute per user' of service 'licensing.googleapis.com' "reason": "rateLimitExceeded" (「licensing.googleapis.com」服務的「查詢」配額指標和「每位使用者每分鐘查詢數」限制已超出配額,「原因」:rateLimitExceeded) 在 GCDS 設定 XML 檔案中,確認 *<maxResults>* 值設為 500。如有必要,請將其變更為 500,然後重新執行同步。

排解 GCDS 常見問題


Google、Google Workspace 和其他相關符號及標誌均為 Google LLC 的商標,所有其他公司和產品名稱則是與個別公司關聯的商標。