Windowsのnet userコマンドのオプション/randomがダメっぽい

季節は秋。サーバのお引越しの時季である(嘘)。

色々あって、サーバのリプレース作業を手伝っていた。OSはWindows Server 2003 R2Unix系のOSでないのは、何か問題が発生した時に対応できる人材がいないかららしい。

新サーバにユーザアカウントを追加するに当たり、パスワードの条件が厳しくなったということで、初回ログイン用のパスワードをどうやって用意するかが問題となった。少し調べてみたところ、net userコマンドでユーザを追加するなら、オプション/randomでパスワードを自動生成できるらしい。

幸か不幸か、今回はグローバル・ドメインにユーザを追加するので、net userが使える。ということで、

mkdir log password
net user hoge /random /fullname:"ほげ 太郎" /active:YES /add /domain > log\hoge.txt
type log\hoge.txt | find "のパスワード" > password\hoge.txt
net user piyo /random /fullname:"ぴよ 二郎" /active:YES /add /domain > log\piyo.txt
type log\piyo.txt | find "のパスワード" > password\piyo.txt

みたいな感じのバッチファイルを自動生成して、net userでユーザを追加したのだが……。

/randomで生成したパスワードがNGで追加できないユーザがでてくるとは、やわらかいわき腹を突かれましたのことよなあ、てな気分だ。サンプル数が少ないので参考にならない気もするけど、全体の8.9%が失敗した*1

多分、net userとは別の誰かがユーザ管理の処理を引き受けていて、

  1. net user実行時にパスワード文字列が指定されていたら、それを使う。/randomが指定されている場合は、net userの内部でランダムな文字列を生成する。
  2. net userは生成した文字列をパスワードとして、「別の誰か」にユーザ追加処理を依頼。
  3. 「別の誰か」としてはNGなパスワード文字列なので、エラーを返す。
  4. エラーが返ってきたので、net userは伝言ゲームで「パスワードがダメだよ」と通知する。

なんてことになっているのではないか、と妄想している。

しかし何とかならないものか。/randomは隠しコマンド(隠しオプション?)だから無理か。

*1:大人の事情でサンプル数は出せない。