搜索组成员资格以获取用户列表

时间:2018-12-01 16:04:41

标签: powershell

对于PowerShell和网站,我是一个陌生的人。
我的问题是我找到了已修改的脚本。该脚本有效,但仅部分有效;它没有返回所有组。仅4组,之后显示“ .....”,没有其他信息(您可以看到图片)。

actual output

基本上我想要做的是以下内容:
我有100个用户,我需要导出这100个用户的组成员身份。

 [$users = Get-Content "D:\users.txt"
$adjob = foreach ($user in $users) {
    Get-ADUser -server "myserver" –Identity $user –Properties MemberOf
}

$adjob | Select-Object Name,@{N='Group';E={$_.MemberOf -replace '^CN=(\[^,\]+),OU=.+$','$1'}} | Format-Table -AutoSize | out-file D:\users.csv][1]

此脚本应返回:

名称
user1
user2
user3

group1,group2,group3,每个用户的其余组

group1,group2,group3,每个用户的其余组

group1,group2,group3,每个用户的其余组

谢谢您的帮助!

1 个答案:

答案 0 :(得分:0)

尝试一下:

$users = Get-Content "D:\users.txt"
$adjob = foreach ($user in $users) {
      Get-ADUser -server "myserver" –Identity $user –Properties MemberOf
}
$adjob | foreach {"`n`n";$_.name, $((($_.MemberOf -split ",")| Select-String "CN") -replace "CN=","")}

输出应为下面的用户名和组名。 "`n`n"将在每个用户之后放置两个空白行。

对于您的特殊情况,请尝试以下操作: 首先在PowerShell上输入$FormatEnumerationLimit=-1,然后将原始脚本中的Format-Table -AutoSize替换为Format-Table -AutoSize -WrapFormat-List