Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

PowerShellによるActiveDirectory管理
――ユーザー管理編

PowerShellによるActiveDirectory管理(2)

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2011/08/26 14:00

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

目次

 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パラメーターによるオブジェクトの取得例

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • HIRO(ヒロ)

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

バックナンバー

連載:PowerShellによるActiveDirectory管理
All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5