web-dev-qa-db-ja.com

ユーザーがメンバーになっているADグループのリストを取得する

Active DirectoryにユーザーのユーザーIDがあるとします。そのユーザーが現在メンバーになっているすべてのADグループのリストを取得したいと思います。 Windowsコマンドラインからこれを行うにはどうすればよいですか?

私は以下を試しました:

dsget user "DC=jxd123" -memberof

エラー:

dsquery failed:'-memberof' is an unknown parameter.
type dsquery /? for help.
58
MacGyver

PowerShellでこれをかなり簡単に行うことができます。あなたもdsツールでそれを行うことができると確信していますが、それらは古くて無愛想であり、PowerShellは現在可能な限りすべてに使用されるべきです。

Import-Module ActiveDirectory
(Get-ADUser userName –Properties MemberOf | Select-Object MemberOf).MemberOf

短いバージョン

(Get-ADUser userName –Properties MemberOf).MemberOf
37
MDMarra

またはNet Userコマンドを使用して...

Net User /domain username
86
Jack

1行、モジュール不要、現在ログインしているユーザー$($ env:username)を使用、他のWindowsマシンから実行:

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

このvbs/powershell記事のクドス: http://technet.Microsoft.com/en-us/library/ff730963.aspx

40
Canoas

良いリソースが見つかりました:

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
12
MacGyver

パワーシェル:

Get-ADPrincipalGroupMembership -Identity jdoe | Format-Table -Property name
8
AbeNice

自分のグループを表示する必要がある場合は、 whoami /groups があります。

現在のユーザーが属するユーザーグループを表示します。

このコマンドのNet User /domain usernameに対する利点は、暗黙的なグループメンバーシップもwhoamiで表示されることです。

8

別のアプローチ:Windowsアカウントトークンからすべての暗黙的なグループメンバーシップを一覧表示するPowerShellスクリプト。制限されたシステムで動作します。

$token = [System.Security.Principal.WindowsIdentity]::GetCurrent() 
ForEach($group in $token.Groups){
    $group.Translate([System.Security.Principal.NTAccount])
}
6
ofthelit
dsquery user -samid "user id" | dsget user -memberof > userid_memberof.txt
3
Vibhat

adfindは、このようなことを行うためのもう1つの優れたツールです。 MVP Joe Richardsの無料ツールです

http://www.joeware.net/freetools/tools/adfind/

あなたは不足の1つを使うことができます

adfind -sc u:username memberof
2
Mike Kline
$ADUser = Read-Host "Provide the AD User account"
Get-ADPrincipalGroupMembership -Identity $ADUser | Sort-Object name | Format-Table -Expand name
2
Bill Ou

このPowerShellバージョンは、グループのDNではなく、ADグループ名のみを返します。 「オブジェクトの選択」出力は、CSVまたはテストファイルに簡単にパイプ処理できます。

(Get-ADUser ExampleUser –Properties MemberOf).memberof | Get-ADGroup | Select-Object name

1
Nicholas Leader

Powershell、すてきでクリーンな出力を提供します。

(get-aduser USER -Properties MemberOf | select MemberOf).MemberOf | % {$_.split(",")[0].replace("CN=","")}
0
Trbo

以下は、特定のドメインの下にあるすべてのドメインを検索するソリューションです(各ドメインに適切なアクセス許可がある場合):

# provide the logon name here:
$user="alice"
$allGroups=@()

foreach ( $d in (Get-ADForest example.net).domains ) { Write-Output "Looking up $user in domain $d"; $allGroups += Get-ADPrincipalGroupMembership $user -ResourceContextServer $d }

$allGroups | ft name,GroupScope,distinguishedName -AutoSize

Get-ADPrincipalGroupMembership の使用

0
Thomas