[powershell] 사용자가 속한 모든 그룹을 얻는 방법은 무엇입니까?

PowerShell Get-ADGroupMember cmdlet은 특정 그룹의 구성원을 반환합니다. 특정 사용자가 속한 모든 그룹을 가져 오는 cmdlet 또는 속성이 있습니까?


나는 내 실수를 수정 : Get-Member이어야한다 Get-ADGroupMember.



답변

Get-ADPrincipalGroupMembership이이를 수행합니다.

Get-ADPrincipalGroupMembership username | select name

name
----
Domain Users
Domain Computers
Workstation Admins
Company Users
Company Developers
AutomatedProcessingTeam


답변

모듈이 필요없는 단일 회선은 현재 기록 된 사용자를 사용합니다.

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

이 vbs / powershell 기사에 대한 제안 : http://technet.microsoft.com/en-us/library/ff730963.aspx


답변

현재 로그온 한 사용자의 그룹 멤버쉽을 얻기 위해 Canoas가 게시 한 것보다 더 간결한 대안입니다.

이 블로그 게시물 에서이 방법을 발견했습니다 .http : //www.travisrunyard.com/2013/03/26/auto-create-outlook-mapi-user-profiles/

([ADSISEARCHER]"samaccountname=$($env:USERNAME)").Findone().Properties.memberof

정규식을 사용하여 LDAP guff를 제거하고 그룹 이름 만 남기는 더 나은 버전입니다.

([ADSISEARCHER]"samaccountname=$($env:USERNAME)").Findone().Properties.memberof -replace '^CN=([^,]+).+$','$1'

[ADSISEARCHER] 유형 가속기 사용에 대한 자세한 내용은 스크립팅 가이 블로그 ( http://blogs.technet.com/b/heyscriptingguy/archive/2010/08/24/use-the-powershell-adsisearcher-type) 에서 확인할 수 있습니다. -accelerator-to-search-active-directory.aspx


답변

CMD에서 구식 길 :

net user mst999 /domain 


답변

(GET-ADUSER Identity USERNAME Properties MemberOf | Select-Object MemberOf).MemberOf


답변

Get-ADPrincipalGroupMembership이 작동하지 않으면 해당 사용자로 로그인하여 사용해보십시오.

$id = [Security.Principal.WindowsIdentity]::GetCurrent()
$groups = $id.Groups | foreach-object {$_.Translate([Security.Principal.NTAccount])}
$groups | select *


답변

사용자의 그룹 멤버십을 가져옵니다.

$strUserName = "Primoz"
$strUser = get-qaduser -SamAccountName $strUserName
$strUser.memberof

사용자의 그룹 멤버십 가져 오기를 참조 하십시오.

Quest의 Active Directory 용 무료 PowerShell 명령 도 참조하십시오 .

[ 편집 : Get-ADPrincipalGroupMembership 명령은 Windows 2008 R2 v2 이후 Powershell에 포함되어 있습니다. 아래의 kstrauss의 답변을 참조하십시오.]