家studyをつづって

IT技術に関することやセキュリティ、ガイドライン等学んだことをつづっていきます。

ActiveDirectoryのオブジェクトを操作するコマンド

概要

ActiveDirectoryを管理するツールとして「dsコマンド」があります。
組織において新入社員を登録する時等、大量のユーザを一括登録といった作業で活用されます。
dsコマンドには以下のものがあります。

 

ディレクトリサービスコマンドラインツール

ツール 概要
dsadd オブジェクトの追加
dsget オブジェクトの表示
dsmod オブジェクトの修正
dsmove オブジェクトの移動、名前変更
dsquery 検索条件に一致するオブジェクトの検索
dsrm オブジェクトの削除

   

上記の内、dsqueryをAD上で実行してみます。

C:\Users\test>dsquery

説明: このツールのコマンドにより、指定された基準に従ってディレクトリを照会することができます。

次の各 dsquery コマンドは特定のオブジェクトの種類のオブジェクトを検索します。あらゆる種類のオブジェクトを照会できる dsquery *が例外としてあります:

dsquery computer - ディレクトリの中のコンピューターを検索します。

dsquery contact - ディレクトリの中の連絡先を検索します。

dsquery subnet - ディレクトリの中のサブネットを検索します。

dsquery group - ディレクトリの中のグループを検索します。

dsquery ou - ディレクトリの中の組織単位 (OU) を検索します。

dsquery site - ディレクトリの中のサイトを検索します。

dsquery server - ディレクトリの中の AD DC/LDS インスタンスを検索します。

dsquery user - ディレクトリの中のユーザーを検索します。

dsquery quota - ディレクトリのクォータ設定を検索します。

dsquery partition - ディレクトリのパーティションを検索します。

dsquery * - 汎用 LDAP のクエリを使ってディレクトリのオブジェクトを検索します。

特定のコマンドについてのヘルプは "dsquery <オブジェクトの種類> /?" と入力してください。 このとき <オブジェクトの種類> は上記のサポートされているオブジェクトの種類の 1つです。

例: dsquery ou /?

注釈: dsquery コマンドにより、指定された検索条件に一致するディレクトリ内のオブジェクトを検索することができます: dsquery への入力は検索条件であり、dsquery からの出力は検索に一致するオブジェクトの一覧です。特定のオブジェクトのプロパティを得るには、

dsget コマンド (dsget /?) を使用してください。

dsquery コマンドの結果を dsmod、dsget、dsrm または dsmove などの他の 1 つのディレクトリ サービス コマンドライン ツールの入力としてパイプできます。

識別名で区切り文字以外にコンマを使用する場合は、円記号 ("\") をエスケープ文字として追加する必要があります

(例: "CN=Company\, Inc.,CN=Users,DC=microsoft,DC=com")。

識別名で円記号を使用する場合は、円記号をエスケープ文字として追加する必要があります

(例:"CN=Sales\\ Latin America,OU=Distribution Lists,DC=microsoft,DC=com")。

 

例: 過去 4 週間アクティブではなかったコンピューターをすべて検索し、それらのコンピューターをディレクトリから削除するとき:

dsquery computer -inactive 4 | dsrm

 

組織単位 "ou=Marketing,dc=microsoft,dc=com" のユーザーをすべて検索し、それらのユーザーを Marketing Staff のグループに追加するとき:

dsquery user ou=Marketing,dc=microsoft,dc=com | dsmod group

 

"cn=Marketing Staff,ou=Marketing,dc=microsoft,dc=com" -addmbr 名前が "John" で始まるユーザーをすべて検索し、それらのユーザーの事業所番号を表示するとき:

dsquery user -name John* | dsget user -office

 

ディレクトリの中の任意のオブジェクトの任意の属性セットを表示する場合は、 dsquery * コマンドを使用します。たとえば、DN が ou=Test,dc=microsoft,dc=com であるオブジェクトの sAMAccountName の 属性、userPrincipalName の属性、および department の属性を表示するとき:

dsquery * ou=Test,dc=microsoft,dc=com -scope base -attr sAMAccountName userPrincipalName

 

department DN が ou=Test,dc=microsoft,dc=com であるオブジェクトの属性をすべて読み取るとき:

dsquery * ou=Test,dc=microsoft,dc=com -scope base -attr * ディレクトリ サービス コマンドライン ツールのヘルプ:

dsadd /? - オブジェクトの追加のヘルプです。

dsget /? - オブジェクトの表示のヘルプです。

dsmod /? - オブジェクトの修正のヘルプです。

dsmove /? - オブジェクトの移動のヘルプです。

dsquery /? - 検索条件に一致するオブジェクトの検索のヘルプです。

dsrm /? - オブジェクトの削除のヘルプです。

 

なお、サーバをリモートから管理するために、dsコマンドをクライアント端末で実行するためのツールも公開されています。

www.microsoft.com

 

参考にさせていただいたサイト

gihyo.jp