コマンド・プロンプトからドメインのユーザー・アカウントを操作する場合、net user /domainコマンドが利用できる。詳細についてはTIPS「net userコマンドの使い方」を参照していただきたいが、ドメイン・アカウントの作成や削除、属性の設定確認/変更などができる。
だがnet userコマンドは、もともとはWindows NT時代に(Windows NTのユーザー・アカウントの仕組み向けに)作られたコマンドであり、Active Directory関連で追加・拡張された属性を確認したり、操作したりすることができない。例えばユーザー・アカウントの「パスワードを無期限にする」という属性をオンにしたくても(net user /domain /add 〜で追加した直後は、デフォルトではオフになっている)、net userコマンドでは操作できない。
このような目的のためには、Windows Server 2003で追加されたActive Directory操作用のコマンドライン・ツール(dsgetやdsquery、dsmodなど)を利用するとよい(以下まとめてdsコマンドと呼ぶことにする)。Windows XPの場合は、TIPS「サーバ用管理ツールをクライアントPCにインストールする」の方法でWindows Server 2003(SP1もしくはR2)の管理ツール(adminpak.msiファイル)をインストールすれば、同様に利用できる。
DN名が分かったら、それを使ってユーザー・アカウントの属性を調べてみよう。このためにはdsgetコマンドを利用するが、「パスワードを無期限にする」という属性を調べるには、さらに「-pwdneverexpires」というパラメータを指定する。指定可能なパラメータの一覧は「dsget user /?」で確認していただきたい。
C:\>dsget user "CN=hiroshi,CN=Users,DC=example,DC=com" -pwdneverexpires
pwdneverexpires ……属性名
no ……結果は「no」。つまり、この設定フラグはオフ
dsget 成功 ……dsgetコマンドの実行は正常に終了
C:\>
dsmodによる属性の変更
確認した属性の値を変更するには、dsgetコマンドに代えてdsmodコマンドを実行すればよい。そして最後に「-pwdneverexpires yes」とか「-pwdneverexpires no」などと指定する。ほかのオプションについては、dsmod user /?で確認していただきたい。
■属性の設定
C:\>dsmod user "CN=hiroshi,CN=Users,DC=example,DC=com" -pwdneverexpires yes
dsmod 成功:CN=hiroshi,CN=Users,DC=example,DC=coms ……成功した
■属性の確認
C:\>dsget user "CN=hiroshi,CN=Users,DC=example,DC=com" -pwdneverexpires
pwdneverexpires
yes ……結果
dsget 成功