“dsget group” 失败,对象类与命令行不匹配

“dsget group” 失败,对象类与命令行不匹配

我正在尝试使用 检索有关活动目录组成员的信息dsget。该命令检索部分成员(141 个成员中的 53 个)。问题组包含一个子组。与其他没有子组的组使用相同的命令语法是成功的。dsget 的文档明确查询子组有望发挥作用。

dsget group "CN=MyGroup,OU=Users and Groups,DC=example,DC=ca" -members -expand -c | dsget user -samid -display

dsget failed:CN=SomeChildGroup,OU=Users and Groups,DC=example,DC=ca:The object class of the target does not match the one specified on the command line.
type dsget /? for help.  samid       display
  dandithe    Danny.Dithers
  adamaca     Adam.Abacus
  sarahso     Sarah.Soother
  colcust     Colin.Custard

这是在客户端工作站 (win7) 上运行的,运行者是没有任何域管理员权限的用户帐户。添加或删除-expand递归查询子组的参数似乎没有效果。-c错误时继续运行也没有效果。

知道哪里出了问题以及如何解决吗?请记住,我没有域权限。

答案1

我发现我把 放在了-c管道错误的一侧。或者也许应该放在两侧。无论如何,将它添加到正确的位置都是可行的:

set ad_path=CN=MyGroup,OU=Users and Groups,DC=example,DC=ca
dsget group "%ad_path%" -members -expand -c | dsget user -samid -display -c

仍然存在错误,因为子组不是用户,但它会忽略这一点并继续运行。

找到解决方案得益于理查德·帕米特

答案2

问题是,来自的某些对象dsget group实际上是组,但您却将它们全部传递给dsget user

解决这个问题的简单方法是将第一个命令的结果发送到文件,编辑组条目并将结果提供给第二个命令。

相关内容