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


52

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

私は次を試しました:

dsget user "DC=jxd123" -memberof

エラー:

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

3
dsgetの実行時にdsqueryでエラーが発生することはありません。コピー&ペーストが失敗しますか?
mfinni

参考までに、StackOverflowで同じ質問が見つかりましたが、さらに2つの回答がありました。
ニック

答えるほどの評判はありませんが、powershellを使用していると仮定すると、次のように書くことができます:Get-ADPrincipalGroupMembership username | 名前を選択
Avi Parshan

回答:


33

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

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

短いバージョン

(Get-ADUser userName –Properties MemberOf).MemberOf

Powershellをダウンロードして、*。msuファイルができました。* .msuファイルを使用してインストールする方法を教えてください。
マクガイバー

どのオペレーティングシステムを使用していますか?PowerShellはXPより新しいものに組み込まれており、オプションのWindows UpdateとしてXPで利用できます。
MDマーラ

Windows XP ..私の会社は遅いです:-\
MacGyver

次に、間違ったインストーラーをダウンロードしました。また、ちょっとした話ですが、XPサポートは1年弱で終了します。アップグレードを進めましょう!microsoft.com/en-us/windows/endofsupport.aspx
MDMarra

1
Get-ADPrincipalGroupMembershipPowerShellでこれを行う別の方法です。
ニック

83

または、net userコマンドを使用して...

net user /domain username

3
「古い」DOSコマンドの一部が提供するシンプルさが気に入っています。そして、彼らはいつもそこにいたので、古いマシンにPoSHをロードしていなくても、DOSが助けになります!これを投稿してくれてありがとう。
ジェフMODEN

3
これは明示的なグループメンバーシップのみを返しますが、暗黙的なグループメンバーシップは返しません。
エリアスプロブスト14年

11
スリックコマンド、
しかし

1
はい、制限があります。ネストされたグループメンバシップは表示されず、そのとおりです。出力は切り捨てられます。確かに、私は後者を考慮していませんでした。
ジャック

うまくいきましたが、なぜ切り捨てられますか?完全なグループ名に追加できる構成/パラメーターはありますか?
ThinkCode

36

単一行で、モジュールは不要で、現在ログインしているユーザー$($ 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


2
非常に優れたソリューション、追加のソフトウォーをインストールせずに私のために働いた唯一のもの!ありがとう!
t0r0X

2
追加ソフトウェアなしで制限付きシステムで作業する場合は+1!
ザウストラップ


8

パワーシェル:

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

7

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

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

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


最適なソリューション。賛成。短くて甘い。切り捨てません。個人的には、LIST形式が一番好きです。つまりwhoami /groups /fo list、目で読むのが最も簡単だからです。
ペテル

6

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

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


2
$ADUser = Read-Host "Provide the AD User account"
Get-ADPrincipalGroupMembership -Identity $ADUser | Sort-Object name | Format-Table -Expand name


1

このPowerShellバージョンは、グループのDNではなく、ADグループ名のみを返します。「select-object」出力は、CSVまたはテストファイルに簡単にパイプできます。

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


0

Powershell、きれいできれいな出力を提供します。

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

0

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

# 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の使用


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.