2012-05-09 10 views
0

アクティブディレクトリ内のグループ内のユーザーの一覧を取得しようとしています。私たちは複数のドメインを持っています。私は各グループの各ドメインをポーリングする中央の場所から実行したいと思います。また、ネストされたメンバーも表示するようにします。Active PowerShellディレクトリ内のグループ内のネストされたユーザーリストを取得しようとしています

現在、私はこれを実行しようとしました。マシンがポーリングしているドメインと同じドメインにあったときには、これがうまく動作しました。すべてのメンバーとネストされたメンバーが表示されます。

dsquery group -samid "group name" | dsget group -members -expand >c:\list.txt 

"cn=username,ou=users,dc=domain1,dc=com" 

しかし、別のドメインをポーリングしようとすると出力がありません。

dsquery group -samid "cn=group name,cn=users,dc=domain2,dc=com" | dsget group -members -expand >c:\list.txt 

dsget failed: 'target object for this command' is missing 

次に同じIDを付けずに試してみると、出力が得られます。

dsquery group "cn=group name,cn=users,dc=domain2,dc=com" | dsget group -members -expand >c:\list.txt 

"CN=username2,OU=users,DC=domain2,DC=com" 
"CN=S-1-5-21,CN=ForeignSecurityPrincipals,DC=domain1,DC=com" 
"cn=group name,ou=users,dc=domain2,dc=com" 

したがって、IDを取得してネストされたメンバーを表示していません。

正しい入れ子になったメンバーと非字句を解決するにはどうしたらよいですか?また、複数のドメインで複数のグループ名をポーリングする方法はどうですか?または、私はそれをすべて分けて、一度に一つずつ行うべきですか?

ありがとうございます!

答えて

4

は、私の知る限り理解してあなたの質問は、部分的にListing users in ad group recursively with powershell script without CmdLets

に答えているしかし、あなたはW2K8R2のenvironementで作業している場合は、Active-Directoryモジュールを使用することができます。

DSQUERYグループ:あなたは、以下の入力用としてSamIDをお持ちの場合は

  • 「グローバルカタログオプションを使用して、」GCからあなたの結果を照会する必要があるすべての場合において

    Import-Module activedirectory 
    Get-ADGroupMember groupName -Recursive 
    
0

-samid "グループのSamID" -gc | -expand

  • -memberof dsgetグループが、あなたは以下の入力用として識別名を使用している場合:

dsgetグループ "グループの識別名" -gc | dsget group -memberof -expand

関連する問題