今回より何回かに分けて、Active Directoryモジュールを使用したユーザーの管理方法について説明していきたいと思います。
最初に、ユーザー管理に使用できるコマンドレットを見てみましょう。
Active Directoryモジュールでは、ユーザー操作に関するコマンドレットの名詞部には必ず「ADUser」という文字が含まれています。
そこで、「ADUser」が含まれるコマンドレットを探してみると、下記のように5つあることがわかります。
コマンドレット | 説明 |
---|---|
Get-ADUser | 1人以上のADユーザーを取得する |
Get-ADUserResultantPasswordPolicy | ユーザーのパスワードポリシーの結果を取得する |
New-ADUser | 新しくADユーザーを作成する |
Remove-ADUser | ADユーザーを削除する |
Set-ADUser | ADユーザーを修正する |
今回は Get-ADUser の使用方法を見ていきましょう。
Get-ADUser
Get-ADUser は非常に多くのパラメータを持っており、一口に「ADユーザーを取得する」といっても、その取得方法は多様です。
次に示すように、使用方法は3つあります
- Filterパラメータを使用してPowerShellの記述言語でクエリ文字列を作成しADユーザーを取得する方法
- Identityパラメータを使用して取得するADユーザーを指定する方法
- LDAPFilterパラメータを使用してLDAPクエリ文字列でADユーザーを取得する方法
Filterパラメーターを使用する
もっとも汎用性の高いパラメーターで、ユーザー検索の条件を指定することができます。
たとえば、「メールアドレスの先頭が”Sato”から始まっているユーザーを取得したい」、「最終ログオン日時が2011/2/1移行のユーザーを取得したい」といった検索で使用します。
・全ユーザーの取得
全ユーザーを取得するには、-Filterパラメーターにワイルドカード(*)を指定するだけです。
Get-ADUser -Filter *
・メールアドレスによるユーザーの取得
メールアドレスが”hiro”で始まるユーザーを検索してみましょう。
「メールアドレスが”hiro”で始まる」を式で表すと 「mail -like ‘hiro*’」 となるので、コマンドは以下のようになります。
Get-ADUser -Filter {mail -like "hiro*"}
メールアドレスでユーザーを検索する以外にも、ユーザーが持つ属性による(性(givenname)、名(surnname)、電話番号(telephonenumber))検索も可能です。
・特定のOUに属するユーザーの取得
今度は-SearchBase パラメータを追加して任意のOUに属するユーザーを取得してみましょう。
下記はcorp.contoso.comのITに属するユーザーを検索します。
Get-ADUser -Filter * -SearchBase "OU=IT,DC=corp,DC=contoso,DC=com"
Identityパラメータを使用する
Identityパラメータには次のプロパティのいずれかを指定した検索を行うことができます。
- 識別名
- GUID
- セキュリティ識別子
- SAMアカウント名
例としてGUIDによる検索例を見てみましょう。
Get-ADUser -Identity "S-1-5-21-4193795416-3281483866-4073542180-1110"
LDAPFilterパラメータを使用する
LDAPFilterパラメータを使用すると、LADPクエリ文字列による検索をすることができます。
下記はcorp.contoso.comのIT組織(OU)の中から名前が”HIRO”で始まるオブジェクトを検索します。
Get-ADUser -LDAPFilter "(name=HIRO*)" -SearchScope Subtree -SearchBase "OU=IT,DC=corp,DC=contoso,DC=com"
このほかにも様々なパラメータがありますので、興味があるかたは是非ヘルプを参照ください。
詳細なヘルプを見たい場合は下記コマンドを実行してください。
help Get-ADUser -Detailed
コメント
[…] [ActiveDirectory] ユーザー管理(1) Get-ADUser コマンドレット […]