首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何获取用户所属的所有群组?

如何获取用户所属的所有群组?
EN

Stack Overflow用户
提问于 2011-02-22 08:57:01
回答 28查看 1.2M关注 0票数 162

PowerShell的Get-ADGroupMember cmdlet返回特定组的成员。是否有cmdlet或属性可以获取特定用户所属的所有组?

我修正了我的错误:Get-Member应该是Get-ADGroupMember

EN

回答 28

Stack Overflow用户

回答已采纳

发布于 2013-03-22 20:14:27

Get-ADPrincipalGroupMembership将执行此操作。

代码语言:javascript
复制
Get-ADPrincipalGroupMembership username | select name

name
----
Domain Users
Domain Computers
Workstation Admins
Company Users
Company Developers
AutomatedProcessingTeam
票数 324
EN

Stack Overflow用户

发布于 2014-05-13 17:38:59

单行,不需要模块,使用当前登录的用户:

代码语言:javascript
复制
(New-Object System.DirectoryServices.DirectorySearcher("(&(objectCategory=User)(samAccountName=$($env:username)))")).FindOne().GetDirectoryEntry().memberOf

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

票数 111
EN

Stack Overflow用户

发布于 2014-05-28 11:19:37

一种比Canoas发布的更简洁的替代方法,用于获取当前登录用户的组成员资格。

我在这篇博文中遇到了这种方法:http://www.travisrunyard.com/2013/03/26/auto-create-outlook-mapi-user-profiles/

代码语言:javascript
复制
([ADSISEARCHER]"samaccountname=$($env:USERNAME)").Findone().Properties.memberof

还有一个更好的版本,它使用正则表达式去掉LDAP垃圾,只留下组名称:

代码语言:javascript
复制
([ADSISEARCHER]"samaccountname=$($env:USERNAME)").Findone().Properties.memberof -replace '^CN=([^,]+).+$','$1'

有关使用ADSISEARCHER类型加速器的更多详细信息,请参阅scripting guy博客:http://blogs.technet.com/b/heyscriptingguy/archive/2010/08/24/use-the-powershell-adsisearcher-type-accelerator-to-search-active-directory.aspx

票数 53
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5072996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档