获取用户所属的 AD 组列表

Mac*_*ver 69 windows active-directory

假设我在 Active Directory 中有一个用户的用户 ID。我想获取该用户当前所属的所有 AD 组的列表。如何从 Windows 命令行执行此操作?

我尝试了以下方法:

dsget user "DC=jxd123" -memberof
Run Code Online (Sandbox Code Playgroud)

错误:

dsquery failed:'-memberof' is an unknown parameter.
type dsquery /? for help.
Run Code Online (Sandbox Code Playgroud)

小智 97

或者使用net user命令...

net user /domain username
Run Code Online (Sandbox Code Playgroud)

  • 光滑的命令,但是,输出中的组名被截断为 21 个字符...... :-( (13认同)
  • 我喜欢一些“旧”DOS 命令提供的简单性。而且,它们一直存在,所以即使您没有在旧机器上加载 PoSH,DOS 也能派上用场!感谢您发布此信息。 (4认同)
  • 这只会返回显式的,而不是隐式的组成员身份。 (4认同)

Can*_*oas 56

单行,不需要模块,使用当前登录的用户 $($env:username),从其他 Windows 机器运行:

(New-Object System.DirectoryServices.DirectorySearcher("(&(objectCategory=User)(samAccountName=$($env:username)))")).FindOne().GetDirectoryEntry().memberOf
Run Code Online (Sandbox Code Playgroud)

这篇 vbs/powershell 文章的 Qudos:http ://technet.microsoft.com/en-us/library/ff730963.aspx

  • 非常好的解决方案,唯一一个无需安装任何其他软件即可为我工作的解决方案!谢谢! (4认同)
  • +1 用于在没有任何附加软件的情况下在受限系统上工作! (3认同)
  • 另一个 +1 用于在受限制的系统上工作并且具有比 net.exe 更好的输出。谢谢一堆! (3认同)

MDM*_*rra 44

您可以在 PowerShell 中轻松完成此操作。我相信您也可以使用 ds 工具来做到这一点,但它们已经过时且很硬,现在应该将 PowerShell 用于所有可能的事情。

Import-Module ActiveDirectory
(Get-ADUser userName –Properties MemberOf | Select-Object MemberOf).MemberOf
Run Code Online (Sandbox Code Playgroud)

较短的版本

(Get-ADUser userName –Properties MemberOf).MemberOf
Run Code Online (Sandbox Code Playgroud)

  • `Get-ADPrincipalGroupMembership` 是在 PowerShell 中执行此操作的另一种方法。 (2认同)

Mac*_*ver 12

找到一个好资源:

http://social.technet.microsoft.com/wiki/contents/articles/2195.active-directory-dsquery-commands.aspx

以下是从 Windows 命令提示符执行此操作的方法:

dsquery user -samid jxd123 | dsget user -memberof | dsget group -samid
Run Code Online (Sandbox Code Playgroud)


Dmi*_*yev 12

如果您需要查看自己的组,则有whoami /groups

显示当前用户所属的用户组。

与此命令相比,此命令的优点net user /domain username是隐式组成员身份也用 显示whoami

  • 最佳解决方案。赞成。简短而甜蜜。不截断。我个人最喜欢 LIST 格式,即 `whoami /groups /fo list`,因为它最容易用眼睛阅读。 (2认同)

小智 10

电源外壳:

Get-ADPrincipalGroupMembership -Identity jdoe | Format-Table -Property name
Run Code Online (Sandbox Code Playgroud)


小智 6

另一种方法:从 Windows 帐户令牌中列出所有隐式组成员身份的 PowerShell 脚本。在受限系统上工作。

$token = [System.Security.Principal.WindowsIdentity]::GetCurrent() 
ForEach($group in $token.Groups){
    $group.Translate([System.Security.Principal.NTAccount])
}
Run Code Online (Sandbox Code Playgroud)