![如何导出 Active Directory 用户“成员”选项卡的详细列表?](https://linux22.com/image/633519/%E5%A6%82%E4%BD%95%E5%AF%BC%E5%87%BA%20Active%20Directory%20%E7%94%A8%E6%88%B7%E2%80%9C%E6%88%90%E5%91%98%E2%80%9D%E9%80%89%E9%A1%B9%E5%8D%A1%E7%9A%84%E8%AF%A6%E7%BB%86%E5%88%97%E8%A1%A8%EF%BC%9F.png)
我目前正在重组我所在公司的 Active Directory 用户列表,而负责这项工作的人做得很糟糕,当然,他不再在这里工作了。
我的问题如下: 我想要一个 Excel 电子表格(理想情况下)包含用户图表的“成员”选项卡中包含的所有信息。
我曾尝试创建一个查询,但结果仅给出了某个“成员”的用户列表,而不是“成员”选项卡的实际内容。
有没有办法做到这一点,通过命令提示符或直接从 Active Directory 来做到这一点?
公平警告:我对 VBS 和 Powershell 一无所知。
答案1
如果你想获得用户的组成员身份,请运行此命令电源外壳命令:
Get-ADPrincipalGroupMembership $Username | Select Name | out-file "filepath"
您希望将文档保存在哪里,包括您希望文档的名称”
$Username
您正在查询的用户的名称在哪里。
答案2
我有这个,你需要学习一点 PowerShell 才能将其转储到 CSV,现在它只是转储到文本文件。
$users = Get-ADUser -Filter * -Properties * -SearchBase "OU=something,DC=domain,DC=net"
foreach ($user in $users) {
$file = $user.Name + '_ACL'
(Get-ADUser –Identity $user –Properties MemberOf).MemberOf -replace '^CN=([^,]+),OU=.+$','$1' | Out-File c:\PSResults\$file.txt
}
我从来没有花时间让它用于 CSV 输出,因为它满足了我的需要。
-- 如果您希望将其导出到 csv,只需将 out-file 路径更改为您希望保存它的路径,再加上 document.csv 的名称,例如,out-file C:\PSResults\$file.csv 将导出到名为 $file 的 CSV
答案3
您可以创建并定义一个新查询,应用于包含“AD 用户和计算机”中的用户的 OU,并输入以下查询字符串:
(&(&(&(&(objectCategory=user)(userAccountControl=512)))))
然后使用 AD 窗口顶部的“导出列表”将结果导出为 csv。
答案4
要将文件转换为 CSV,只需将代码中的“Out-File c:\PSResults\$file.txt”替换为“Export-CSV -path c:\PSResults\$file.csv -NoTypeInformation”
因此它看起来应该是这样的:
$users = Get-ADUser -Filter * -Properties * -SearchBase "OU=something,DC=domain,DC=net"
foreach ($user in $users) {
$file = $user.Name + '_ACL'
(Get-ADUser –Identity $user –Properties MemberOf).MemberOf -replace '^CN=([^,]+),OU=.+$','$1' | Export-CSV -path c:\PSResults\$file.csv -NoTypeInformation
}
但是,正如其他人已经发布的那样,下面是最好使用的方法,因为它是一个简单的单行代码:
Get-ADPrincipalGroupMembership USERNAME | Select Name | Export-CSV -path C:\Temp\file.csv -NoTypeInformation