ITよろづや

ITの参考になる情報を備忘録代わりに残していきます

セキュリティグループの「所属するメンバー」を調べるPowerShellコマンド

ADでセキュリティグループの「所属するメンバー」を調べるPowerShellコマンドについて調べててフォーラムの情報が参考になりました。ちなみにGUIで調べる方法もありますが、一括で情報を取得したい場合などは、コマンドが便利ですね。

 

●質問
ADに以下のようにセキュリティグループが設定されているのですが、
各グループの「所属するメンバー」を一括で調べる方法はありますでしょうか?

Active Directory ユーザーとコンピュータ
┗ サーバー名
┗ 国名
┗ Groups
┗ 各グループ名 ← ここに登録されている複数のセキュリティグループの、[プロパティ]-[メンバー]-[所属するメンバー]で表示されるアカウント名をPowerShellで抽出したいです。

●回答
Get-ADGroupMemberコマンドレットが利用できるかと思います。

 

「参考元」

https://social.technet.microsoft.com/Forums/ja-JP/de90ea21-6068-4d8a-ac9b-deda3e494fb6?forum=powershellja

 

 

コマンドの詳細はこちらを参考にしてください。
https://docs.microsoft.com/en-us/powershell/module/addsadministration/get-adgroupmember?view=win10-ps


コマンドのオプションです。


Get-ADGroupMember
[-AuthType <ADAuthType>]
[-Credential <PSCredential>]
[-Identity] <ADGroup>
[-Partition <String>]
[-Recursive]
[-Server <String>]
[<CommonParameters>]


説明
Get-ADGroupMemberのコマンドレットは、Active Directoryのグループのメンバーを取得します。メンバーは、ユーザー、グループ、およびコンピューターです。

アイデンティティパラメータは、アクセスするためのActive Directoryグループを指定します。グループは、識別名、GUID、セキュリティ識別子、またはセキュリティアカウントマネージャー(SAM)アカウント名で識別できます。グループオブジェクトをパイプラインに渡すことでグループを指定することもできます。たとえば、Get-ADGroupコマンドレットを使用してグループオブジェクトを取得し、パイプラインを通じてGet-ADGroupMemberコマンドレットにオブジェクトを渡すことができます。

場合は再帰的なパラメータが指定され、コマンドレットは、子オブジェクトが含まれていないグループの階層内のすべてのメンバーを取得します。たとえば、グループSaraDavisReportsにユーザーKarenTohとグループJohnSmithReportsが含まれ、JohnSmithReportsにユーザーJoshPollockが含まれている場合、コマンドレットはKarenTohとJoshPollockを返します。

 

Active Directoryライトウェイトディレクトリサービス(AD LDS)環境の場合、次の2つの条件を除き、Partitionパラメーターを指定する必要があります。

●コマンドレットは、Active Directoryプロバイダードライブから実行されます。
●AD LDS環境には、既定の名前付けコンテキストまたはパーティションが定義されています。AD LDS環境の既定の名前付けコンテキストを指定するには、AD LDSインスタンスActive Directoryディレクトリサービスエージェントオブジェクト(nTDSDSA)のmsDS-defaultNamingContextプロパティを設定します。


オプションが色々とあるので組み合わせれば欲しい情報が取得できると思います。