我一直在尝试创建一个包含 AD 所有成员的 csv 文件,但由于某些组有来自其他受信任域的成员,因此这些用户不会显示出来。我还尝试使用以下方法在文本文件中输出用户:
dsquery group -name "Group Account Name" | dsget group -members -expand > C:users.txt
并失败了。有人知道我尝试做的事情是否可行吗?
答案1
您的 Dsquery 语法缺少域根 LDAP 路径。它应如下所示:
dsquery group "DC=contoso,DC=com" -name "group name" | dsget group -members -expand > C:\Users.txt
尝试使用更新的语法。
根据 sysadmin1138 的建议,以下是发送到变量数组“$members”的命令:
$members = (dsquery group "DC=contoso,DC=com" -name "group name" | dsget group -members -expand)
答案2
“所有成员广告“——应该吗?”AD 组“?
如果是这样,使用 Windows PowerShell 的 Active Directory 模块,您可以发出以下命令:
Get-ADGroupMember "Group Account Name" | out-file users.txt
如果您想获取所有群组的所有成员(根据您的评论),请执行以下操作:
Get-ADGroup -Filter * | Get-ADGroupMember | Where{$_.objectClass -eq "user"} | select * -unique | out-file users.txt
如果需要通过嵌套组进行递归,请将 -recursive 开关添加到 GetADGroupMember cmdlet。