使用Get-AdGroupMember递归查找嵌套组名称

时间:2012-08-28 03:19:08

标签: powershell active-directory

我使用Get-AdGroupMember -recursive powershell命令列出组中的用户和嵌套组中的用户。

我可以在输出结果中输出嵌套组的名称吗?

即用户A在A组,用户B在B组,用户C在C组

C组在B组,B组在A组。用户C正确地显示为在A组中具有组成员资格,但最初没有向下钻取这些组并不明显。

在我的“真实世界”案例中,顶层有~7个组,然后是下一个级别的5个/ 6组,因此我必须查看每个组以查找用户。回来的一些结果是三个嵌套组,需要花一些时间来确定用户实际所在的组。

由于

1 个答案:

答案 0 :(得分:1)

你会发现this答案的结束,这是一种在C#中使用.NET 3.5程序集查找用户所属的所有组(以递归方式)的方法,这里是对PowerShell的转换。这不是你问题的确切答案,但这种方式在你的“真实世界”中应该有所帮助。

# Load the .NET 3.5 assembly
Add-Type -AssemblyName System.DirectoryServices.AccountManagement

# Get an enum value
$ct = [System.DirectoryServices.AccountManagement.ContextType]::Domain

# Retreive the user as a user principal
$username = "jblanc"
$up = [System.DirectoryServices.AccountManagement.Principal]::FindByIdentity($ct,$username)

# Get all the authorization groups a user belongs to
$up.GetAuthorizationGroups()