gpt4 book ai didi

powershell - 如何使用输入列表列出 AD 用户的 AD 组成员身份?

转载 作者:行者123 更新时间:2023-12-02 22:24:36 27 4
gpt4 key购买 nike

我是一个相当新的 PS 用户...正在寻求有关 powershell 脚本的帮助来获取用户所属的安全组列表。

描述我需要什么:

  • 我有包含许多用户(samaccountnames)的输入列表(txt 文件)。每个名字都换行。
  • 我需要脚本在 AD 中搜索这些名称 - 整个森林,而不仅仅是一个域
  • 输出应类似于“samaccountname”,并将该帐户所属的组列表放在一行中,以便我可以在 Excel 中对其进行排序

这是我的脚本:

$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

任何帮助将不胜感激。

最佳答案

First:就目前而言,$User 变量没有 .Users 属性。在您的代码中,$User 仅表示文本文件中的一行(foreach 循环中的“当前”行)。

$getmembership = Get-ADUser $User -Properties MemberOf | Select -ExpandProperty memberof

其次,我不相信你可以用一个命令查询整个森林。您必须将其分解为更小的 block :

  1. 查询林中的域列表
  2. 为每个域调用 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;

关于powershell - 如何使用输入列表列出 AD 用户的 AD 组成员身份?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21238053/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com