Active DirectoryにユーザーのユーザーIDがあるとします。そのユーザーが現在メンバーになっているすべてのADグループのリストを取得したいと思います。Windowsコマンドラインからこれを行うにはどうすればよいですか?
私は次を試しました:
dsget user "DC=jxd123" -memberof
エラー:
dsquery failed:'-memberof' is an unknown parameter.
type dsquery /? for help.
Active DirectoryにユーザーのユーザーIDがあるとします。そのユーザーが現在メンバーになっているすべてのADグループのリストを取得したいと思います。Windowsコマンドラインからこれを行うにはどうすればよいですか?
私は次を試しました:
dsget user "DC=jxd123" -memberof
エラー:
dsquery failed:'-memberof' is an unknown parameter.
type dsquery /? for help.
回答:
PowerShellでこれを簡単に行うことができます。あなたはdsツールでもそれを行うことができると確信していますが、それらは古くて無愛想であり、PowerShellは今日可能なすべてのものに使用されるべきです。
Import-Module ActiveDirectory
(Get-ADUser userName –Properties MemberOf | Select-Object MemberOf).MemberOf
短いバージョン
(Get-ADUser userName –Properties MemberOf).MemberOf
Get-ADPrincipalGroupMembership
PowerShellでこれを行う別の方法です。
または、net userコマンドを使用して...
net user /domain username
単一行で、モジュールは不要で、現在ログインしているユーザー$($ 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
良いリソースを見つけました:
Windowsコマンドプロンプトから実行する方法は次のとおりです。
dsquery user -samid jxd123 | dsget user -memberof | dsget group -samid
自分のグループを表示する必要がある場合は、次のwhoami /groups
とおりです。
現在のユーザーが属するユーザーグループを表示します。
このコマンドの利点net user /domain username
は、暗黙的なグループメンバーシップもとともに表示されることwhoami
です。
whoami /groups /fo list
、目で読むのが最も簡単だからです。
adfindは、この種のことに対するもう1つの優れたツールです。MVP Joe Richardsの無料ツールです
http://www.joeware.net/freetools/tools/adfind/
いずれかのショートカットを使用できます
adfind -sc u:username memberof
特定のドメインの下のすべてのドメインを検索するソリューションは次のとおりです(各ドメインに適切なアクセス許可がある場合)。
# 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