0

Active Directory 内のグループ内のユーザーのリストを取得しようとしています。複数のドメインがあります。各グループの各ドメインをポーリングする中央の場所から実行したいと考えています。また、ネストされたメンバーも表示したいです。

現在、これを実行してみましたが、マシンがポーリングしているドメインと同じドメインにあるときに機能しました。すべてのメンバーとネストされたメンバーが表示されます。

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を取得し、ネストされたメンバーを表示していません。

正しいネストされたメンバーと非 sid を解決するにはどうすればよいですか? また、複数のドメインで複数のグループ名をポーリングするにはどうすればよいですか? それとも、すべてを分離して、一度に 1 つずつ実行する必要がありますか?

前もって感謝します!

4

2 に答える 2

4

私が理解している限り、あなたの質問は、CmdLets を使用しない PowerShell スクリプトを使用して再帰的に広告グループ内のユーザーをリストする で部分的に回答されています。

ただし、W2K8R2 環境で作業している場合は、Active-Directory モジュールを使用できます。

Import-Module activedirectory
Get-ADGroupMember groupName -Recursive
于 2012-05-10T03:55:57.373 に答える
0

いずれの場合も、「グローバル カタログ オプションを使用して」GC から結果を照会する必要があります。

  • 入力として SamID がある場合は、以下を使用します。

dsquery group -samid "グループの SamID" -gc | dsget グループ -memberof -expand

  • ただし、入力として DistinguishedName がある場合は、以下を使用します。

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

于 2013-10-23T11:51:19.463 に答える