Powershell,如何检查 AD 用户的组成员身份

发布于 2024-10-16 21:36:55 字数 236 浏览 3 评论 0原文

我想检查某些 OU 中的用户是否是来自另一个特定 OU 的组(以及哪些组)的成员。 我该怎么做?

例子: 我有三个用于用户的 OU(users1OU、users2OU、users3OU)和两个用于不同组的 OU(grups1OU、groups2OU)。

现在我想知道 OU users1OU 中的用户、OU groups2OU 中哪些组的成员。

我使用的是 powershell 2.0 和 win 2008。

I want to check for users in certain OU if they are members of groups (and which) from another certain OU.
How can I do this ?

Example:
I have three OUs for users (users1OU, users2OU, users3OU) and two OUs for various grups (grups1OU, groups2OU).

Now I want to know for users from OU users1OU, members of which groups from OU groups2OU, they are.

I'm using powershell 2.0 and win 2008.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

单身情人 2024-10-23 21:36:55

使用 RSAT 工具中的 ActiveDirectory 模块:

 Import-Module activedirectory

 $memb = @{}
 foreach ($group in get-adgroup -searchbase "ou=groups2OU,dc=domain,dc=tld" -filter *){
 get-adgroupmember $group |? {$_.distinguishedname -like "*ou=users1OU,*"}|
 %{$memb[$_.name] += @($group.name)
 }
}
$memb

枚举 groups2OU 中的组,获取组成员并使用专有名称过滤 users1OU 中的组。使用用户名作为键创建哈希表,并累积组名称的集合作为值。

完成后,循环遍历哈希表键,并以您想要的任何报告格式输出用户名(键)和组成员身份(值)。

Using the activedirectory module from the RSAT tools:

 Import-Module activedirectory

 $memb = @{}
 foreach ($group in get-adgroup -searchbase "ou=groups2OU,dc=domain,dc=tld" -filter *){
 get-adgroupmember $group |? {$_.distinguishedname -like "*ou=users1OU,*"}|
 %{$memb[$_.name] += @($group.name)
 }
}
$memb

Enumerate the groups in the groups2OU, get the group members and use the distinguishedname to filter the ones in the users1OU. Create a hash table using the user name as the key, and accumulate a collection of group names as the value.

When you're done, loop through the hashtable keys, and output the user name (key) and group memberships (value) in whatever report format you want.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文