知られざるActive Directory技術の「舞台裏」

第5回 DS*コマンドを使ってLDAPを操作する

この記事を読むのに必要な時間:およそ 4 分

簡単なDS*コマンドを使う

簡単にDS*コマンドを使う方法として,いくつかの例をあげてみます。

dsquery user "OU=営業部,DC=marubatsucorp,DC=local" -stalepwd 30

実行結果

実行結果

"OU=営業部,DC=marubatsucorp,DC=local"ディレクトリ配下のユーザオブジェクトで,30日間以上パスワードを変更していないコンピュータを検索します。Active Directoryパスワードポリシーの"パスワードの有効期限"で決められた期間とは関係なく,ユーザのパスワード変更状況をチェックするときに便利です。

dsquery computer "CN=Computers,DC=marubatsucorp,DC=local" -inactive 4

marubatsucorp.localドメインのドメインコントローラ以外のコンピュータオブジェクトで,4週間ログオンしていないコンピュータを検索します。一定期間利用されていないコンピュータを確認するときに便利です。

dsadd user "CN=川本 尚子,OU=第二課,OU=営業部,DC=marubatsucorp,DC=local" -samid nkawamoto -upn nkawamoto@marubatsucorp.local -pwd P@ssw0rd -mustchpwd yes -memberof "CN=営業部第二課,OU=第二課,OU=営業部,DC=marubatsucorp,DC=local" -fn 尚子 -ln 川本 -display "川本 尚子" -desc 営業部第二課ユーザー -tel 03-1234-6789 -email nkawamoto@marubatsucorp.local -dept 営業部第二課 -company ○×株式会社

実行結果

実行結果

実行結果

"OU=第二課,OU=営業部,DC=marubatsucorp,DC=local"ディレクトリ内に新規ユーザ"川本 尚子"を登録します。

個々のオプションについて簡単に紹介しますが,これ以外のオプションも存在します。詳しくはdsadd user /?コマンドヘルプをご覧ください。

表4 dsadd userのオプション(一部)

-samidSAMアカウント名を指定する。
-upnUPNを指定する。
-pwdパスワードを指定する。
-mustchpwd"ユーザーは次回ログオン時にパスワードの変更が必要"を指定する。
-memberof所属するグループを指定する。
-fn"名"を指定する。
-ln"姓"を指定する。
-display"表示名"を指定する。
-desc"説明"を指定する。
-tel"電話番号"を指定する。
-email"電子メール"を指定する。
-dept"部署"を指定する。
-company"会社名"を指定する。
dsget group "CN=営業部第二課,OU=第二課,OU=営業部,DC=marubatsucorp,DC=local" -members

"CN=営業部第二課,OU=第二課,OU=営業部,DC=marubatsucorp,DC=local"グローバルグループのメンバ(所属するユーザ)の一覧を表示します。セキュリティグループのメンバ一覧を確認するときに便利です。

dsget user "CN=山川 しずか,OU=第二課,OU=営業部,DC=marubatsucorp,DC=local" -memberof

"CN=山川 しずか,OU=第二課,OU=営業部,DC=marubatsucorp,DC=local"ユーザアカウントが所属するグループの一覧を表示します。ユーザが所属するグループの一覧を確認するときに便利です。

dsquery server -forest -hasfsmo pdc

フォレスト内のすべてのドメインのPDCエミュレータを検索します。-hasfsmoオプションにはschema(スキーマ)⁠name(名前付け)⁠infr(インフラストラクチャ)⁠rid(RID)の各マスタを検索できます。

dsmove "OU=第二課,OU=営業部,DC=marubatsucorp,DC=local" -newname 輸入販売課

実行結果

実行結果

実行結果

"OU=第二課,OU=営業部,DC=marubatsucorp,DC=local"OUの名前を"輸入販売課"に変更します。オブジェクトの名前を変える場合,たとえばdsmod userコマンドに直接名前を変更するオプションはないので,dsmoveコマンドを使って"新しい名前でオブジェクトを配置し直す"というかたちをとります。

dsmove "CN=SERVER00,CN=Servers,CN=Tokyo,CN=Sites,CN=Configuration,DC=marubatsucorp,DC=local" -newparent "CN=Servers,CN=Kanagawa,CN=Sites,CN=Configuration,DC=marubatsucorp,DC=local"

ドメインコントローラServer00オブジェクト(DSAオブジェクト)を,TokyoサイトからKanagawaサイトに移動します。[Active Directoryサイトとサービス]スナップインで行なう作業に相当します。たとえばWindows Server 2008 R2 Server Coreでドメインコントローラを構成する場合,これらのコマンドを利用すると便利です。

著者プロフィール

小鮒通成(こぶなみちなり)

Active DirectoryおよびWindows Serverに関するコンサルタント。あわせて各種コミュニティ活動や執筆活動を行っており,Microsoft Most Valuable Professional (Windows Server System - Directory Services) 表彰を5年連続で受けている。現在はNTTデータ先端技術株式会社に勤務。