本連載は、Windows PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は「Get-ADUser」コマンドレットです。
本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、Active Directoryに作成されたユーザーを参照する「Get-ADUser」コマンドレットを解説します。
Get-ADUserの概要 | 書式 | オプション
「Get-ADUser」は、Active Directoryに作成されたユーザーを参照するためのWindows PowerShellコマンドレットです。
Active Directoryに作成されたユーザーは「Active Directoryユーザーとコンピューター」管理ツールでも参照できますが、Get-ADUserコマンドレットではさまざまな検索条件を設定し、その条件に合致するユーザーだけを抽出して参照することができます。
また、Get-ADUserコマンドレットで特定のユーザーだけを取り出せば、その結果に基づいて、パスワードリセットやグループメンバーとしてユーザーを追加するといった操作も簡単にできます。
オプション | 意味 |
---|---|
-Filter | ユーザーを表示するための条件を指定する。場合により省略可能 |
-LDAPFilter | ユーザーを表示するための条件をLDAPクエリで指定する。省略可能 |
-SearchBase | ユーザーを表示するための条件としてOU(組織単位)またはドメインを指定する。省略可能 |
-Identity | 表示するユーザーを指定する。省略可能 |
-Property | 表示するユーザーの特定の属性情報を表示する。省略可能 |
「Get-ADUser -Filter 条件」と指定して実行すると、入力した条件に合致したユーザーだけが表示されます。
以下の実行例では、「Active Directoryユーザーとコンピューター」管理ツールからユーザーのプロパティを開いたときに表示される「役職」項目(title属性)に「部長」という文字が含まれる場合、そのユーザーが表示されるように「{属性名 -like "値"}」という条件を設定しています(画面1)。
Get-ADUser -Filter {title -like "*部長"}
値には「*部長」と設定したので、「営業部長」や「総務部長」など、「部長」の文字の前に任意の文字を設定していても合致するようになっています。
「-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"
なお、Get-ADUserコマンドレットは「-Filter」オプションの指定が必須であるため、「-Filter *」のように入力し、-Filterオプションでは特に条件を指定しないようにします(もちろん、-SearchBaseオプションと一緒に-Filterオプションで、条件を明示的に指定することも可能です)。
Get-ADUserコマンドレットでは、条件指定に-Filterオプションを使用することが必須ですが、-Filterオプションの代わりに「-LDAPFilter」オプションを使って条件を指定することも可能です。
-LDAPFilterオプションはLDAPクエリを使って条件を指定するオプションで、最初の例で指定した「title属性に『部長』と設定されているユーザー」という条件は、LDAPクエリの指定では「"(title=*部長)"」となります(画面3)。
Get-ADUser -LDAPFilter "(title=*部長)"
なお、-LDAPFilterオプションを使用する場合は、-Filterオプションを指定する必要はありません。
Get-ADUserコマンドレットを実行してユーザーを表示すると、その結果にはユーザー名などの一般的な情報だけしか表示されません。
結果に標準で表示される以外の情報を表示したい場合は、「-Properties」オプションを使用します。
以下の実行例では、条件としてtitle属性が「部長」の文字で終わるユーザーを指定し、さらに表示結果にtitle属性の“値”が含まれるように指定しています(画面4)。
Get-ADUser -Filter {title -like "*部長"} -Properties title
-Propertiesオプションの値に「*(アスタリスク)」を指定すると、全ての属性情報を表示することができます。
全ての属性情報を表示する場合には、表示結果が多くなるので、条件に合致するユーザー全てではなく、特定のユーザーだけが表示されるように利用するとよいでしょう。
特定のユーザー1人だけを表示するには、「-Identity」オプションを使用します。以下の実行例では、-Identityオプションでユーザー「kunii」をユーザー名で指定し、-Propertiesオプションで全ての属性が表示されるように「*」を指定しています(画面5)。
Get-ADUser -Identity kunii -Properties *
なお、-Identityオプションを使用する場合も、-Filterオプションを指定する必要はありません。
株式会社ソフィアネットワーク取締役。1997年よりマイクロソフト認定トレーナーとして、Active DirectoryやActive Directoryフェデレーションサービス(AD FS)など、ID管理を中心としたトレーニングを提供している。2007年よりMicrosoft MVP for Directory Servicesを連続して受賞。なお、テストで作成するユーザーアカウントには必ずサッカー選手の名前が登場するほどのサッカー好き。
Copyright © ITmedia, Inc. All Rights Reserved.