Mar*_*n_K 9 membership powershell active-directory
我是相当新的PS用户...寻找PowerShell脚本的一些帮助,以获取用户所属的安全组列表.
描述我需要的东西:
这是我的脚本:
$users = Get-Content C:\users.txt
ForEach ($User in $users) {
  $getmembership = Get-ADUser $User.Users -Properties MemberOf | Select -ExpandProperty memberof
  $getmembership | Out-File -Append c:\membership.txt 
}
但它给我一个错误:
Get-ADUser : Cannot validate argument on parameter 'Identity'. The argument is null. Supply a non-null argument and try the command again.
At line:4 char:28
+ $getmembership = Get-ADUser <<<<  $User.Users -Properties MemberOf | Select -ExpandProperty memberof
    + CategoryInfo          : InvalidData: (:) [Get-ADUser], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ActiveDirectory.Management.Commands.GetADUser
无论如何,这个脚本不会搜索整个森林.
样本输入列表:
username1
username2
username3
username4... etc
示例输出列表
username1;group1;group2;group3
username2;group1;group2;group3;group4... etc or something similar
任何帮助将不胜感激.
Tre*_*van 12
第一:目前$User看来,变量没有.Users属性.在您的代码中,$User只需从文本文件中表示一行(foreach循环中的"当前"行).
$getmembership = Get-ADUser $User -Properties MemberOf | Select -ExpandProperty memberof
其次,我不相信你可以用一个命令查询整个森林.您将不得不将其分解为更小的块:
Get-ADUser每个域(您可能必须通过-Credential参数指定备用凭据第三,获取用户所属的组列表:
$User = Get-ADUser -Identity trevor -Properties *;
$GroupMembership = ($user.memberof | % { (Get-ADGroup $_).Name; }) -join ';';
# Result:
Orchestrator Users Group;ConfigMgr Administrators;Service Manager Admins;Domain Admins;Schema Admins
第四:要获得最终的,所需的字符串格式,只需将$User.Name分号,$GroupMembership字符串和字符串一起添加:
$User.SamAccountName + ';' + $GroupMembership;
小智 6
Get-ADPrincipalGroupMembership username | select name
从另一个答案得到它,但脚本工作魔术.:)
| 归档时间: | 
 | 
| 查看次数: | 132813 次 | 
| 最近记录: |