从命令行获取用户的非截断Active Directory组

Ben*_*Ben 83 windows cmd active-directory

我经常使用该net user命令查看用户的AD组:

net user /DOMAIN <username>
Run Code Online (Sandbox Code Playgroud)

这很好用,但组名被截断为大约20个字符.在我的组织中,大多数群组名称都比这长得多.

有没有人知道通过命令行获取非截断的AD组的方法?

P.B*_*key 100

GPRESULT是正确的命令,但不能在没有参数的情况下运行. /v如果没有输出到文本文件,则很难管理或详细选项.EG我建议使用

gpresult /user myAccount /v > C:\dev\me.txt- 确保C:\ Dev\me.txt存在

另一个选项是仅显示可在命令窗口中完全可见的摘要信息:

gpresult /user myAccount /r

帐户列在标题下:

The user is a part of the following security groups
---------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

  • 这仅适用于当前登录的用户. (6认同)
  • 这应该是答案 (5认同)
  • 当我为我的用户帐户运行它时,它很棒,我可以看到安全组。当我为另一个用户帐户运行它时,命令返回:用户“userNameHere”没有 RSOP 数据。 (4认同)

小智 50

一个有点陈旧的帖子,但我想到了什么."whoami"能满足您的需求吗?

我今天刚刚发现它(实际上来自同一个谷歌搜索带我到这里).自XP以来,Windows已经有了一个whoami工具(添加工具包的一部分),并且自Vista以来一直内置.

whoami /groups
Run Code Online (Sandbox Code Playgroud)

列出当前登录用户的所有AD组.我相信它确实要求您以该用户身份登录,因此如果您的用例需要能够运行命令来查看其他用户,这将无济于事.

  • 仅列出组名:`for/f"tokens = 1 delims =,"%g in('whoami/groups/fo csv/nh')do @echo"%~g"`(注意:使用`%%`代替批处理文件中的`%`) (3认同)

小智 5

或者您可以使用dsquerydsget:

dsquery user domainroot -name <userName> | dsget user -memberof
Run Code Online (Sandbox Code Playgroud)

要检索组成员身份,请执行以下操作:

Tue 09/10/2013 13:17:41.65
C:\
>dsquery user domainroot -name jqpublic | dsget user -memberof
"CN=Technical Support Staff,OU=Acme,OU=Applications,DC=YourCompany,DC=com"
"CN=Technical Support Staff,OU=Contosa,OU=Applications,DC=YourCompany,DC=com"
"CN=Regional Administrators,OU=Workstation,DC=YourCompany,DC=com"
Run Code Online (Sandbox Code Playgroud)

虽然我找不到任何证据表明我曾在计算机上安装过这个软件包,但您可能需要安装适用于Windows 7远程服务器管理工​​具.


ser*_*ist -13

您可以解析 GPRESULT 命令的输出。

  • 没有例子,这是一个无用的答案 (74认同)
  • 但这是正确的无用答案......显然。 (10认同)
  • @RichardBarker:2019 年 NET USER 仍然发生截断。 (3认同)