我目前正在重组我正在工作的公司的Active Directory用户列表,而这样做的人做得很糟糕,当然,现在不再在这里工作。
我的问题如下: 我想要一个Excel电子表格(理想情况下)包含用户图表的“成员”选项卡中包含的所有信息。
我曾尝试创建查询,但是结果只给我列出了属于“成员”的用户列表,而不是“成员”选项卡的实际内容。
是否可以通过命令提示符或直接从Active Directory中执行此操作?
合理的警告:我对VBS和Powershell一无所知。
我目前正在重组我正在工作的公司的Active Directory用户列表,而这样做的人做得很糟糕,当然,现在不再在这里工作。
我的问题如下: 我想要一个Excel电子表格(理想情况下)包含用户图表的“成员”选项卡中包含的所有信息。
我曾尝试创建查询,但是结果只给我列出了属于“成员”的用户列表,而不是“成员”选项卡的实际内容。
是否可以通过命令提示符或直接从Active Directory中执行此操作?
合理的警告:我对VBS和Powershell一无所知。
Answers:
我有这个,您将需要学习一些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,只需将外文件路径更改为要保存它的路径,再加上document.csv的名称,例如,外文件C:\ PSResults \ $ file.csv将导出为名为$ file的CSV文件
Get-ADPrincipalGroupMembership
是2.0版本。不知道我在想什么。
要将文件转换为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