Winサーバでユーザ登録時にランダムパスワードをつける
「つれづれなるままに」の2006年2月14日の記事で,Windowsサーバへユーザを一括登録するTipsが公開されています.しかし,パスワードの設定については,ランダムな文字列を設定したほうがセキュリティ上好ましいかもしれませんし,教育上のことを考えてもそうしたほうがよいでしょう.
ということで,ランダムな文字列をパスワードにする方法について,NETWORKWORLD Onlineのこの記事から教えを乞うことにしましょう.作業自体はとっても簡単!
以下のようなバッチファイルを作って,Winサーバのコマンドプロンプトから
バッチファイル名 > 実行結果を記録するファイル名
のようにして実行いたします.
【バッチファイルの中身】
@echo off
net user ユーザIDその1 /random
net user ユーザIDその2 /random
net user ユーザIDその3 /random
・・・
これより,パスワードの再発行を考えるときには,コマンドで
net user ユーザID /random
と叩けばいいということになり,運用が楽になるかな.
@ITの記事によれば,ドメイン管理しているユーザのパスワードを変更するときには,/domain オプションをつけて,
net user ユーザID /domain /random
と実行する,と解説されている.何が違うのかと思って試したところ,Windowsサーバ上で実行する分には,
net user ユーザID /domain /random
の実行結果と,
net user ユーザID /random
の実行結果は,同じものが得られる.
困った.なんで?と思ったところ,理由についてmyvitzrsさんが教えてくれました.それを自分なりに解釈してみると,
net user ユーザID /random
はローカルユーザIDのパスワードを設定するコマンドである.だから,これをドメイン管理しているIDのパスワードを変更するために使うのは正しくない.
Active Directoryが動いているサーバに登録しているユーザに「ローカルユーザ」は存在しないから,別にサーバ側としては
net user ユーザID /random
と打たれた場合は何もせんでもいいのだろうが,優しいことに
net user ユーザID /domain /random
の効果が得られるようにしてくれてるのでしょう,ということ.
でも,サーバの管理者が手元の単なるパソコンでActive Directoryで管理しているユーザのパスワードを変更するときには,パソコンには「ローカルID」と「Active DirectoryのユーザID」のどちらでもログインできるため,単に
net user ユーザID /random
と打つと,ローカルIDのパスワードを変更しようとしてしまう.だから,このようなときには
net user ユーザID /domain /random
と明示的に「このIDはドメイン管理のIDだからな!ローカルじゃないんだぞ!」と指定しないといけないんだね~.
なお,所属グループの設定まで考慮に入れてWindowsサーバへユーザを一括登録する方法については,
によくまとまっている.