Windows TIPS
Management
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

大量のユーザー・アカウントを一括登録する

デジタルアドバンテージ
2001/09/18

 Windows 2000システムを利用する場合、事前にユーザー・アカウントを登録しておく必要がある。しかし1人、2人のユーザーならGUIツールを使っていちいち登録してもよいだろうが、ユーザー数が増えてくるとGUIツールでは作業が非常に面倒である。いちいちユーザー名(「ユーザー ログオン名」)や「姓」、「名」、「フルネーム」などのフィールドをマウスやキーボードを使って設定しなければならないからだ。こんな場合はコマンドライン上で動作するツールなどを使って、ファイルから一括登録できると便利である。

 このような目的のために利用できるツールはいくつかあり、代表的なものとしては「Windows 2000 Serverリソースキット」などに付属する「addusers.exe」コマンドが一般的である。また、バッチファイルを使ってNET USERコマンドを実行させる方法もある。後者は特別なツールなどもインストールする必要がないので、どこででも利用できるというメリットがあるが、ここではリソースキットに付属のツールについて解説する。

リソースキットの addusers コマンドを使ってユーザーを一括登録する

 addusers.exeは、Windows 2000のリソースキットに含まれるユーザー・アカウントの追加/削除用のユーティリティであり、書籍の「Windows 2000リソースキット」を購入するか(分冊になっているが、いずれの巻にも同じ付録CD-ROMが収録されている)、FTPサイトよりダウンロードすることにより入手できる。このコマンドを使ったユーザーの追加/削除の方法については、マイクロソフトのサポート技術情報「AddUsersによる大量のユーザーの自動作成」にも解説があるが、簡単に言うと、ユーザー情報を記入したCSV形式のファイルを用意して、それをadduser.exeコマンドに読み込ませるだけである。詳しい使い方については、「addusers /?」としてヘルプを表示させるか、リソースキットに付属のコマンド・ヘルプ・ファイルを参照してほしい(ただしこのコマンドでは、電子メールアドレスなど、Active Directoryで拡張されたユーザー属性は設定することはできない)。

D:\>addusers /?
Command-line account manipulation utility version 3.0.0.1
Copyright Microsoft Corporation 1997.  All rights reserved.

Adds, Writes, or Erases accounts as specified by a delimited file.

ADDUSERS {/c|/d{:u}|/e} filename [/t][/s:x] [/?] [\\computername|domainname] [/p:{l|c|e|d}]
  /?    Display this help screen.
  /c    Create accounts specified in the file.
  /d:   Write current accounts to the specified file, opt. followed by {:u}.
    u   Write current accounts to the specified file in Unicode text format.
  /p:   Set's account creation options, followed by an comb. of {lced}
    l   Users do not have to change passwords at next logon.
    c   Users cannot change passwords.
    e   Passwords never expire. (implies l option)
    d   Accounts disabled.
  /e    Erase user accounts specified in the file.
  /s:x  Sets the separator character for the input/output file.  Replace the
        x with the character to be used for separating fields. (e.g. /s:~)
        Note: The separator character is a comma ',' by default.
  /t    Enables Terminal Services user properties to be created or viewed.
        Use in conjunction with { /c | /d }.

For detailed information please refer to the Resource Kit Help file.

【参考訳】
ADDUSERS {/c|/d{:u}|/e} filename [/t][/s:x] [/?] [\\computername|domainname] [/p:{l|c|e|d}]
  /?    ヘルプの表示
  /c    ファイルで指定されたアカウントの作成
  /d    アカウントを指定したファイルへ書き出す
    :u  UNICODEで書き出す
  /p:   アカウントの作成オプション。{lced}のいずれかを指定。
    l   次回ログオン時にパスワードの変更を求めない
    c   ユーザーはパスワードを変更できない
    e   無期限パスワード(lオプションの意味を含む)
    d   アカウントを無効にする
  /e    ファイルで指定されたアカウントの削除
  /s:x  CSVファイルの分離記号を“x”にする(例 /s:~)
        デフォルトの分離記号はカンマ(「,」)
  /t    ターミナル サービス ユーザーの作成と取り出し
        /c または /d とともに使用する

 用意するCSVファイルは、以下のような形式であるが、最初に /d オプションで現在のアカウント情報を出力させてから、それを参考にしながら作成するのがよいだろう。

[User]
ユーザー名,フルネーム,パスワード,コメント,ホーム,ディレクトリ,プロファイル,スクリプト
[Global]
グローバルグループ名,コメント,ユーザー名,……(追加するユーザーを列挙)
[Local]
ローカルグループ名,コメント,ユーザー名,……(追加するユーザーを列挙)

 このように、ファイルにユーザー名とコメントなどをカンマで区切って記述しておき、これをaddusers.exeコマンドの引数に与えれば自動的にアカウントが作成される。

 ここで指定した「グローバルグループ名」や「ローカルグループ名」が存在しなければ、まずその(グローバルもしくはローカルの)グループが作成され、その後、指定したユーザーが追加される。すでにそのグループが存在していればエラー・メッセージが表示されるが、その後ユーザーは正しく追加される。なお、(Active Directoryの)ドメイン・コントローラ上でこのコマンドを実行すると、「Global」セクションと「Local」セクションで指定したグループは、それぞれドメインの「グローバル範囲」と「ドメイン ローカル範囲」のグループを作成することになる。

 このコマンドを使って、例えばアカウント「yama」を追加する場合は、次のようなファイルを作成すればよい。このとき、文字コードとしてはUNICODEを使用することを忘れないでいただきたい。さもないと漢字文字を含むコメント欄などが文字化けを起こしてしまう。メモ帳で作成する場合は、ファイル書き込み時にUNICODEを指定することができる。ただしWindows 9xやMeのメモ帳ではUNICODE書き込みはできないので注意。Windows 2000上のメモ帳を使う必要がある。

漢字コードを含む場合はUNICODEで保存する
日本語をコメントに含むユーザー・アカウントを作成する場合は、CSVファイルをUNICODE形式で作成しておかないと、文字化けすることになる。なお(コメント部分ではなく)ユーザー・アカウント名そのものを漢字コードにするとさまざまな不具合が生じる可能性があるので(メール・アドレス名などが漢字コードになってしまう)、避けた方がよい。
  追加するユーザーのアカウント情報。カンマで区切ってユーザー名やフルネームなどを指定する。
  [Global] や [Local] 欄は不要ならば省略してもよいが、何も指定しないと、どのユーザーにも属さないグループになるので、最低限のグループ(Users)は指定する方がよい。
  漢字文字を含むテキストを保存するときは、この「UNICODE」を選択する。ANSI指定で書き込むと、漢字文字が化けることになる。

 パスワードについては、あらかじめこのファイルで指定しておけば、それが使われる。しかし空にしておけば、ユーザーが初回にログオンするときに新規にパスワードを入力するためのダイアログが表示されるので、そこで各ユーザーが設定すればよい(ただしドメインのポリシーが空白のパスワードを許していなければ、空のままだとエラーとなってしまい、アカウントは追加されない)。

[User]
yama,Yamada Taroh,,山田太郎,,,,
[Global]
[Local]
Users,,yama

 [Global] や [Local] 欄は、それぞれグローバル・グループやローカル・グループを作るために使用するが、不要ならば([Global] や [Local] という文字列ごと)省略してもよい。

 このファイルを使ってユーザー・アカウントを追加するには、次のように“/c”オプションを使用する。

D:\>addusers /c users.txt
User account created "yama"  ……ユーザー yama が追加された
  - Error creating local group "Users" (group already exists)
   ……Users はすでに存在するのでエラー(無視してよい)
  - User "yama" added to group "Users"
               ……グループ Users に追加された

 なおファイル中(のコメント欄などに)に漢字コードが含まれるときは、UNICODE形式でCSVファイルを作成しなければならないが、ASCII文字だけならばUNICODEでなくてもよい。Windows 2000のメモ帳で作成する場合は、ファイル書き込み時にUNICODEを指定すればよい。

 このaddusersコマンドは、アカウントを作成するほか、既存のアカウントを取り出すためにも使用することができるので、アカウントのバックアップなどにも利用することができる(ただしパスワード情報などは抽出されないので、新規作成すると、ユーザーは新たにパスワードなどを再設定しなければならない)。

D:\>addusers /d:u users.txt

 アカウントの出力オプション「/d」に付けられた「:u」という指定は、UNICODEで書き出すことを表している。なお、この方法で書き出されたファイルには、Windows 2000のシステム管理用アカウントなど、さまざまなアカウントも含まれているので、再ロードする場合はそれらをすべて削除しておかなければ、エラーとなるので注意すること。End of Article

  関連リンク
  サポート技術情報「AddUsersによる大量のユーザーの自動作成」のページ
     
「Windows TIPS」

@IT Special

- PR -

TechTargetジャパン

Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

イベントカレンダー

PickUpイベント

- PR -

アクセスランキング

もっと見る

ホワイトペーパーTechTargetジャパン

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間
ソリューションFLASH