【发布时间】:2018-01-04 00:52:37
【问题描述】:
我正在使用get-adgroupmember 命令获取 AD 组中的所有用户。 -recursive 正在帮助我从子组中获取成员(如果父组中有的话)。
但是,get-adgroupmember 的上限仅为 5000 个条目。
如果我使用解决这个问题:
Get-ADGroup -Identity "DEPT_120_SA" -server "A" -Properties * | select-object -expandproperty members |get-aduser
这不起作用,因为我的父 AD 有子 AD,-recursive 不被 get-adgroup 接受。
错误:
Get-ADGroup : 找不到与参数名称匹配的参数 '递归'。在行:2 字符:79 + Get-ADGroup -Identity "DEPT_120_SA" -server "mhf.mhc" -Properties * -recursive
我的目标是显示用户名和他们的邮件 iDS,这对我有用:
Get-ADGroupMember -server $domain -identity $s -Recursive -ErrorAction Stop | Get-AdUser -Properties mail -ErrorAction Stop | select sAmAccountName, Mail
任何解决方法? (我愿意写一个递归函数来获取大组,但必须有更短更直接的方法)
【问题讨论】:
-
您是否检查过管道中的每个步骤都返回了正确的输出?首先注释掉第一个
|之后的所有内容,然后是第二个,然后是第三个,依此类推。它会让您深入了解问题所在。 -
什么都没有。如果我只是使用 Get-ADGroup -Identity "DEPT_120_SA" -server "mhf.mhc" -Properties * ,它会给我一个用户和组的列表。我无法使用 -recursive 进一步重申这些组。当我使用 get-adgroupmember 时会发生这种情况。
-
你完全确定这个组有子组吗?
-recurse不起作用似乎很奇怪。但是,我刚刚意识到:Get-ADGroupMember已经返回 ADUsers,因此之后无需使用Get-ADUser。在Get-ADGroupMember之后直接添加-properties mail和select SAMAccountName...等如何工作? -
Get-ADGroupmember 不是我关心的问题。我确信可以将其细化为更短的代码 sn-p。 Get-ADGroup yes 不能与 -recursive 一起使用,而且我的组确实有子组。
-
Get-ADGroup 返回一个组,而不是用户,那么为什么要将它通过管道传输到 Get-ADUser?这行不通,相反,只需使用 Get-ADGroupmember。我是不是误会了?
标签: powershell active-directory