我正在使用 Quest AD Cmdlet 来提取有关计算机帐户和 bitlocker 恢复信息的信息。我目前使用 Get-QadComputer 来提取 DN,然后使用带有 -searchRoot 参数的 Get-QADobject 来查找该计算机的所有子对象,这将为我提供 msFVE-RecoveryInformation 子对象。我想知道我是否可以使用 Get-QadComputer 一次性完成整个查询。
如何使用 Get-QadComputer 仅返回具有 msFVE-RecoveryInformation 子对象的计算机对象?我曾考虑使用 LDAP 过滤器,但不确定它如何适用于子对象。
答案1
我不认为仅通过一次 LDAP 搜索就能实现这一点,无论您要查找哪种类型的子对象。在这种情况下,我通常会尝试查找父级或子级中是否存在引用另一个的属性,以便我可以使用该属性来检索我想要的数据,但在这种情况下似乎没有。
比为每台计算机调用 LDAP 搜索更好的方法可能是:1. 使用 Get-QADObject 枚举环境中的 msFVE-RecoveryInformation 对象,从尽可能低的搜索根开始。2. 使用从这些对象中检索的数据为父计算机对象构建 DN 列表,并将这些 DN 存储在数组中。3. 调用 Get-QADComputer 并使用 Where-Object 过滤掉没有与数组中存储的 DN 匹配的计算机,或者如果启用 bitlocker 的计算机不多,则对数组中的每个 DN 调用 Get-QADComputer 以获取计算机对象。
仅供参考,我快速在 Google 上搜索了“BitLocker cmdlets”,看看是否有更简单的方法,结果返回了一个 go.microsoft.com 链接,指向 Windows Server 2008 R2 的“未来资源”文档,所以这些可能在某个时候会出现。不过目前该文档只说“您尝试访问的文档尚不可用。”
答案2
我不熟悉该属性,但也许可以将“ where $_.msFVE-RecoveryInformation
”添加到Get-QadComputer
查询语句中
本教程(“过滤站”部分)可能会对您有所帮助。