我已成功为我pipe理的其中一个Active Directory林设置Google Apps Directory Sync(GADS)。 这个森林是用2012R2的function级别创build的。 现在我正在为第二个森林build立GADS。 这个森林曾经是在2003年的function层面,但后来被提升到了2008年的function层面。
在GADS中,我使用了一对“用户帐户”search规则,用于暂停AD中已禁用的Google Apps用户,并取消暂停AD中已启用的用户。 这个安排在我build立的第一座森林里完美无瑕。 但在我的新森林中,它返回不完整的数据。
以下是我正在使用的查询:
不要挂起(&(objectCategory = person)(!(userAccountControl:1.2.840.113556.1.4.803:= 2)))
挂起(&(objectCategory = person)(userAccountControl:1.2.840.113556.1.4.803:= 2))
问题是:如果我在该暂停查询的GADS接口中运行“testingLDAP查询”,它只返回两个用户。 但是总共有36位用户应该被退回。 由于该查询未find已禁用用户的完整列表,因此当我在AD中禁用某人并执行同步时,GADS不会在Google Apps中禁用该用户。
当我在非GADS LDAP查询工具(VTLDAPQuery)中运行相同的查询时,它将返回完整列表。
在testing查询时,GADS返回的两个用户在2003年期间被重新创build。 其他34个, 我相信是在function级别提升之后创build的。
好吧,我明白了,现在我对自己很生气。 问题是用于运行LDAP查询的服务帐户权限不足。 在一个没有像我们这样搞砸的森林中,可能不需要特殊的权限,但在我的特定域中,将LDAP查询帐户添加到“Domain Admins”立即解决了问题。 我将不得不继续尝试find所需的最低级别的权限,但显然这是错误的权限。
我刚刚遇到类似的问题,Google Cloud Directory Sync中的LDAP查询将返回109个用户,但Microsoft的LDP工具中的相同查询返回了118个用户。 BaseDN在两种情况下都是相同的,使用相同的BindDN用户帐户login。 查询就像获取它一样简单: (objectclass=user)
事实certificate,这是最简单的解决scheme–GCDS自动筛选结果,只select那些具有正确填写的“mail”属性的结果。 如果您的用户在他们的AD属性中没有电子邮件地址,或者电子邮件地址不是有效的格式,那么GCDS会将用户从search结果中删除。
这可能不是所有情况下都不完整的结果,但这是我的情况,所以我希望这个答案对某个人有帮助。