PowerShellによるActiveDirectory管理(2)
HIRO [著] 2011/08/26 14:00

 本連載ではPowerShellを使用したActiveDirectoryの管理方法について紹介していきます。今回は、ActiveDirectoryモジュールが提供するコマンドレットを利用してユーザーを管理する方法について紹介します。

1 2 3 →

 PowerShell操作の基本について学びたい方は、過去に連載した記事を参照ください。

対象読者

 ActiveDirectory管理者、またはActiveDirectory管理に興味がある方。

必要な環境

  • Windows Server 2008 R2
  • PowerShell 

ユーザー管理用コマンドレット

 ActiveDirectoryモジュールには下表に示すユーザー管理専用のコマンドレットがあります。

ユーザー管理用コマンドレット
コマンドレット 説明
Get-ADUser 1人以上のActiveDirectoryユーザーを取得する
Get-ADUserResultantPasswordPolicy ユーザーのパスワードポリシーの結果を取得する
New-ADUser 新しくActiveDirectoryユーザーを作成する
Remove-ADUser ActiveDirectoryユーザーを削除する
Set-ADUser ActiveDirectoryユーザーを修正する

ユーザーを取得する

 ActiveDirectoryユーザーを取得するにはGet-ADUserコマンドレットを使用します。Get-ADUserは非常に多くのパラメータを持っており、一口に「ActiveDirectoryユーザーを取得する」といっても、その取得方法は多様です。

 次に示すように使用方法は3つあります。

  1. Filterパラメータを使用してPowerShellの記述言語でクエリ文字列を作成しActiveDirectoryユーザーを取得する方法
  2. Identityパラメータを使用して取得するActiveDirectoryユーザーを指定する方法
  3. LDAPFilterパラメータを使用してLDAPクエリ文字列でActiveDirectoryユーザーを取得する方法

 上記3つについてそれぞれ例を見ていきましょう。

Filterパラメーターを使用する

全ユーザーを取得する

 Filterパラメーターにワイルドカード(*)を指定すると、ActiveDirectoryに登録されている全ユーザーを取得することができます。

全ユーザーを取得するコマンド
Get-ADUser -Filter *
全ユーザーを取得する例
全ユーザーを取得する例

メールアドレスからユーザーを取得する

 ユーザーはメールアドレスから検索することが可能です。ここでは、メールアドレスが”hiro”で始まるユーザーを検索してみましょう。

 「メールアドレスが”hiro”で始まる」を式で表すと「EmailAddress -like ‘hiro*’」となるので、コマンドは以下のようになります。

メールアドレスからユーザーを取得するコマンド
Get-ADUser -Filter {EmailAddress -like "hiro*"}
メールアドレスからユーザーを取得する例
メールアドレスからユーザーを取得する例

 メールアドレスでユーザーを検索する以外にも、ユーザーが持つ属性による(性<givenname>、名<surname>、電話番号<telephonenumber>)検索も可能です。

 参考までにパラメーターに指定可能な属性、ユーザープロパティのインターフェース上に絵で表したものを載せておきます。

絵で見る属性1
絵で見る属性1
絵で見る属性2
絵で見る属性2

特定の組織単位(OU)に属するユーザーを取得する

 今度は-SearchBaseパラメータを追加して任意のOUに属するユーザーを取得してみましょう。下記コマンドはcorp.contoso.comのITに属するユーザーを検索します。

特定のOUに属するユーザーを取得するコマンド
Get-ADUser -Filter * -SearchBase "OU=IT,DC=corp,DC=contoso,DC=com"

Identityパラメーターを使用する

 Identityパラメーターでは、次のプロパティのいずれかを指定した検索ができます。

  • 識別名
  • GUID
  • セキュリティ識別子
  • SAMアカウント名

 例としてセキュリティ識別子による検索例を見てみましょう。

Identityパラメーターを使用してユーザーを取得するコマンド
Get-ADUser -Identity "S-1-5-21-4193795416-3281483866-4073542180-1000"
Identityパラメーターによるユーザーの取得例
Identityパラメーターによるユーザーの取得例

LdapFilterパラメーターを使用する

 LDAPFilterパラメータを使用すると、LADPクエリ文字列による検索を行えます。下記はcorp.contoso.comのIT組織(OU)の中から名前が”HIRO”で始まるオブジェクトを検索します。

LdapFilterパラメーターを使用してオブジェクトを取得するコマンド
Get-ADUser -LDAPFilter "(name=HIRO*)" -SearchScope Subtree -SearchBase "OU=IT,DC=corp,DC
LdapFilterパラメーターによるオブジェクトの取得例
LdapFilterパラメーターによるオブジェクトの取得例

1 2 3
→
INDEX
PowerShellによるActiveDirectory管理 ――ユーザー管理編
Page1
対象読者
必要な環境
ユーザー管理用コマンドレット
ユーザーを取得する
ユーザーを作成する
ユーザーの削除
ユーザーのプロパティを変更する
まとめ
プロフィール
HIRO ヒロ

HIRO's.NETのHIROです。
とある半導体工場のSEです。
VB.NET, C#, PowerShellによるプログラミングを楽しんでいます。
最近はBlog でPowerShellについて書いています。

2008/07/07にPowerShell from Japan!!というサイトを立ち上げました。PowerShellユーザーが集まってブログを書いています。よろしかったら来てください。

HIRO's.NET Blog
HIRO's.NET - VB.NET, C#, PowerShell Tips -
PowerShell from Japan!!


記事へのコメント・トラックバック機能は2011年6月に廃止させていただきました。記事に対する反響はTwitterやFacebook、ソーシャルブックマークサービスのコメントなどでぜひお寄せください。

スポンサーサイト