如何导出 Active Directory 用户“成员”选项卡的详细列表?

如何导出 Active Directory 用户“成员”选项卡的详细列表?

我目前正在重组我所在公司的 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

相关内容