GCDS 错误消息

使用 Google Cloud Directory Sync (GCDS) 时,您可能会看到以下错误消息。您可以使用下表进行问题排查。

试用日志分析器

此工具在您提交日志后的一段时间内即可确定大部分问题。

错误消息和解决方案

错误消息 说明和解决方案

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,然后创建过滤器。在过滤器选项中,使用 PathContainspath-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) 握手。如果计算机传输数据包的速度过慢,或者是您的 ISP 暂时无法提供服务,则可能会导致此问题。

GCDS 最多会尝试三次 SSL 握手。如果您在日志中看到以下消息,则表明 GCDS 在后续尝试时成功完成了握手,因而无需再采取进一步措施:[usersyncapp.sync.FullSyncAgent] No differences detected, no changes necessary.

请与您的本地网络管理员联系,了解可能是什么原因导致网络超时。

Quota exceeded for the current request 由于使用过度,系统暂时禁止 GCDS 使用 Google API。您可能已达到 API 配额上限,请在 24 小时后重新尝试同步。

如果您再次看到此错误消息,请检查最终的同步摘要。如果没有用户同步失败,GCDS 就会重新尝试已阻止的请求,如尝试成功则无需执行其他操作。

Google API 上限应能满足日常使用的需要。不过,如果您模拟多次同步或将所有用户的密码都同步到 GCDS,就可能会达到上限。如果您使用自动脚本运行 sync-cmd 命令,请尝试减少每天运行的次数。

如果此问题很严重,请尝试换一个管理员账号来接受 GCDS 的身份验证,或者采用 OAuth 身份验证。

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) GCDS 未能正确地区分您的 LDAP 服务器上的用户和嵌套群组。要解决此问题,请执行以下操作:
  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 网域设置

com.google.gdata.util.
ResourceNotFoundException:
在“配置管理器”的共享联系人部分指定同步键属性后,从 LDAP 服务器中返回了空值。请为所有资源从 LDAP 服务器选择一个包含同步键值的属性,切勿返回 null 或空字符串。
Computed differences exceed
configured deletion limits,
not applying changes
达到了 GCDS 中设置的删除或暂停限制。要避免此错误,请更改 GCDS 中的删除限制设置;您也可以查看同步日志以详细了解哪些内容会被删除或暂停,并确定是否需要更改限制。
InvalidEmail GCDS 尝试创建的用户或电子邮件别名所在的网域不属于您的 Google 账号。请尝试按以下方法操作:
  • 配置管理器中,依次点击用户账号 接着点击 排除规则,然后创建用户排除规则,以排除外部网域中的用户。
  • 更改您的用户搜索规则,以免返回外部网域中的用户。
  • 将缺少的网域添加为您的 Google 账号的辅助域名。
Domain user limit reached GCDS 同步的用户数超过了为您账号配置的上限。请尝试按以下方法操作:
  • 配置管理器中,依次点击用户账号 接着点击 搜索规则,并限制用户搜索的范围以返回较少用户。
  • 确保您在配置管理器中指定的 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 证书而与证书授权机构联系时,遭到了另一服务或网络设备的阻止。请检查是否有防火墙或代理规则限制与运行 GCDS 的计算机建立连接。

如果在运行 GCDS 的计算机上需要通过代理才能访问网络,则必须正确配置代理。

为解决此问题,一种权宜之计是禁止检查证书吊销列表 (CRL)。如要禁止检查证书吊销列表,请向 GCDS 安装目录中的 config-manager.vmoptionssync-cmd.vmoptions 文件添加以下代码:
-Dcom.sun.net.ssl.checkRevocation=false
-Dcom.sun.security.enableCRLDP=false

如需了解详情,请参阅 GCDS 如何检查证书吊销列表

javax.naming.directory.
InvalidSearchFilterException:
Unbalanced parenthesis; remaining name
配置管理器的以下一个或多个页面中指定的查询没有成对的括号:
  • LDAP 配置 接着点击 单位部门 接着点击 搜索规则
  • LDAP 配置 接着点击 用户 接着点击 用户同步
  • LDAP 配置 接着点击 群组 接着点击 群组搜索规则
  • LDAP 配置 接着点击 用户个人资料 接着点击 用户个人资料同步
  • LDAP 配置 接着点击 共享联系人 接着点击 联系人同步
Root exception is javax.naming.
CommunicationException:

servername:389
GCDS 无法解析指定的 LDAP 服务器名称。请务必为 LDAP 服务器输入完全限定域名,并确保运行 GCDS 的计算机能够解析该域名。

注意:使用 Active Directory 时,服务器名称必须是您网域的完全限定域名。

SSL peer shut down incorrectly 此问题通常是由强制通过代理传输的流量导致的。如果您使用代理,则必须配置 GCDS 代理设置。

完成允许访问网址和端口中的步骤,确保 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 有效,则该问题可能与 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。请确保:
  • LDAP 服务器中存在基本 DN。
  • 授权用户有权访问基本 DN。有关详情,请参阅 LDAP 连接设置
Failed to execute query at Base DN <base-dn> for attribute: <属性>,reason: NameNotFoundException GCDS 无法从 LDAP 服务器检索信息。请确保:
  • <base-dn> 对象已存在且可供授权用户访问。有关详情,请参阅 LDAP 连接设置
  • LDAP 服务器中存在 <base-dn> 对象的 <属性>。

Member already exists

在以下情况下,您可能会看到此错误:
  • 您的某位成员的主要 LDAP 地址是 Google Workspace 中的别名地址。请尽量避免这种情况(例如,使用其他用户名替代此别名地址)。
  • 某位用户账号的两个别名地址的用户名相同,而且您勾选了 Google Domain Configuration(Google 网域配置)页面的 Replace domain names in LDAP email addresses(替换 LDAP 电子邮件地址中的域名)复选框。

    如果您勾选此复选框,系统会更改两个电子邮件地址,以匹配备用电子邮件域名字段中列出的域名。

您可以取消选中此复选框,或更改其中一个别名地址的用户名。

如果日志中显示以下消息:“由于地址冲突,将成员 user-email-address 添加到群组 group-email-address 时发生错误”,请检查是否存在以下情况:

  • GCDS 根据您的排除规则,将 user-email-address 用户从同步中排除了。请检查您的排除规则,然后重试。如需了解详情,请参阅使用排除规则和查询省略数据
  • 您在 GCDS 之外更新了用户或群组。请清除缓存,然后重试。

相关主题

排查常见的 GCDS 问题


“Google”、Google Workspace 以及相关标志和徽标是 Google LLC 的商标。其他所有公司名和产品名是其各自相关公司的商标。

该内容对您有帮助吗?

您有什么改进建议?
搜索
清除搜索内容
关闭搜索框
主菜单
2221835604421020963
true
搜索支持中心
true
true
true
false
false