連載
» 2017年05月09日 05時00分 UPDATE

Windows PowerShell基本Tips(14):【 Get-ADUser 】コマンドレット――Active Directoryのユーザー一覧を参照する

本連載は、Windows PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は「Get-ADUser」コマンドレットです。

[国井傑(Microsoft MVP for Directory Services),株式会社ソフィアネットワーク]
「Windows PowerShell基本Tips」のインデックス

連載目次

 本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、Active Directoryに作成されたユーザーを参照する「Get-ADUser」コマンドレットを解説します。

Get-ADUserコマンドレットとは?

 「Get-ADUser」は、Active Directoryに作成されたユーザーを参照するためのWindows PowerShellコマンドレットです。

 Active Directoryに作成されたユーザーは「Active Directoryユーザーとコンピューター」管理ツールでも参照できますが、Get-ADUserコマンドレットではさまざまな検索条件を設定し、その条件に合致するユーザーだけを抽出して参照することができます。

 また、Get-ADUserコマンドレットで特定のユーザーだけを取り出せば、その結果に基づいて、パスワードリセットやグループメンバーとしてユーザーを追加するといった操作も簡単にできます。


Get-ADUserコマンドレットの書式

Get-ADUser [オプション]



Get-ADUserコマンドレットの主なオプション

オプション 意味
-Filter ユーザーを表示するための条件を指定する。場合により省略可能
-LDAPFilter ユーザーを表示するための条件をLDAPクエリで指定する。省略可能
-SearchBase ユーザーを表示するための条件としてOU(組織単位)またはドメインを指定する。省略可能
-Identity 表示するユーザーを指定する。省略可能
-Property 表示するユーザーの特定の属性情報を表示する。省略可能


title属性に「部長」と設定されているユーザーだけ表示する

 「Get-ADUser -Filter 条件」と指定して実行すると、入力した条件に合致したユーザーだけが表示されます。

 以下の実行例では、「Active Directoryユーザーとコンピューター」管理ツールからユーザーのプロパティを開いたときに表示される「役職」項目(title属性)に「部長」という文字が含まれる場合、そのユーザーが表示されるように「{属性名 -like "値"}」という条件を設定しています(画面1)。

コマンドレット実行例

Get-ADUser -Filter {title -like "*部長"}


画面1 画面1 「部長」で終わるtitle属性を持つユーザーを一覧で表示した

 値には「*部長」と設定したので、「営業部長」や「総務部長」など、「部長」の文字の前に任意の文字を設定していても合致するようになっています。



特定のOUに含まれるユーザーだけ表示する

 「-SearchBase」オプションを使用すると、特定のOU(Organizational Unit:組織単位)に所属するユーザーだけが表示されるように条件を設定できます。条件を入力する際には、「DN」と呼ばれる「OU=……」で始まる文字列で指定します。

 例えば、LaFontaine.localドメインの「employee OU」に格納されているユーザーを表示するには、「OU=employee,DC=LaFontaine,DC=local」のように指定します(画面2)。

コマンドレット実行例

Get-ADUser -Filter * -SearchBase "OU=employee,DC=LaFontaine,DC=local"


画面2 画面2 「-SearchBase」オプションで「employee OU」に含まれるユーザーを一覧で表示した

 なお、Get-ADUserコマンドレットは「-Filter」オプションの指定が必須であるため、「-Filter *」のように入力し、-Filterオプションでは特に条件を指定しないようにします(もちろん、-SearchBaseオプションと一緒に-Filterオプションで、条件を明示的に指定することも可能です)。



LDAPクエリでtitle属性に「部長」と設定されているユーザーだけ表示する

 Get-ADUserコマンドレットでは、条件指定に-Filterオプションを使用することが必須ですが、-Filterオプションの代わりに「-LDAPFilter」オプションを使って条件を指定することも可能です。

 -LDAPFilterオプションはLDAPクエリを使って条件を指定するオプションで、最初の例で指定した「title属性に『部長』と設定されているユーザー」という条件は、LDAPクエリの指定では「"(title=*部長)"」となります(画面3)。

コマンドレット実行例

Get-ADUser -LDAPFilter "(title=*部長)"


画面3 画面3 LDAPクエリを利用して「部長」で終わるtitle属性を持つユーザーを一覧で表示した

 なお、-LDAPFilterオプションを使用する場合は、-Filterオプションを指定する必要はありません。



条件に合致するユーザーの一覧表示にtitle属性を含める

 Get-ADUserコマンドレットを実行してユーザーを表示すると、その結果にはユーザー名などの一般的な情報だけしか表示されません。

 結果に標準で表示される以外の情報を表示したい場合は、「-Properties」オプションを使用します。

 以下の実行例では、条件としてtitle属性が「部長」の文字で終わるユーザーを指定し、さらに表示結果にtitle属性の“値”が含まれるように指定しています(画面4)。

コマンドレット実行例

Get-ADUser -Filter {title -like "*部長"} -Properties title


画面4 画面4 「-Properties≫」オプションを使用すると、実行結果にtitle属性の値が表示される


特定のユーザーの属性を全て表示する

 -Propertiesオプションの値に「*(アスタリスク)」を指定すると、全ての属性情報を表示することができます。

 全ての属性情報を表示する場合には、表示結果が多くなるので、条件に合致するユーザー全てではなく、特定のユーザーだけが表示されるように利用するとよいでしょう。

 特定のユーザー1人だけを表示するには、「-Identity」オプションを使用します。以下の実行例では、-Identityオプションでユーザー「kunii」をユーザー名で指定し、-Propertiesオプションで全ての属性が表示されるように「*」を指定しています(画面5)。

コマンドレット実行例

Get-ADUser -Identity kunii -Properties *


画面5 画面5 特定のユーザーに関して、全ての属性の値が表示された

 なお、-Identityオプションを使用する場合も、-Filterオプションを指定する必要はありません。



筆者紹介

国井 傑(くにい すぐる)

株式会社ソフィアネットワーク取締役。1997年よりマイクロソフト認定トレーナーとして、Active DirectoryやActive Directoryフェデレーションサービス(AD FS)など、ID管理を中心としたトレーニングを提供している。2007年よりMicrosoft MVP for Directory Servicesを連続して受賞。なお、テストで作成するユーザーアカウントには必ずサッカー選手の名前が登場するほどのサッカー好き。


Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。