Windowsのユーザーアカウントを管理するには、ローカル環境下では、[コンピュータの管理]、ActiveDirectory環境下では[ActiveDirectoryユーザーとコンピューター]といったGUI管理ツールでコントロールするのが一般的です。
しかしそれとは別にコマンドプロンプト(以下:cmd)上で[net user]コマンドを実行することにより、ユーザアカウントの作成・削除、設定内容の確認、有効・無効の変更、パスワードの設定といった作業は実行できる。
cmdによる実行で、これらの作業がスピーディに実行することができ、バッチファイル(.bat)との掛け合わせで作業を自動化することも可能です。
これから、cmd上での[net user]コマンドについて説明していきますが、原則的に、管理者アカウントでログイン、管理者権限でcmdを開く必要があります。
目次
net user /help
netコマンドについても、お決まりの[/?]と[/help]の実行で詳細を確認することができます。
[net user /?]はハイライトが、[net user /help]は詳細を確認することができます。早速見てみましょう。
[/?]だと最初の数行しか表示されませんが、[/help]により詳細に表示されます。
以下、[/help]の実行結果です。ご自身で実行して直接確認をしてみて下さい。
C:\WINDOWS\system32>net user /help
このコマンドの構文は次のとおりです:
NET USER
[ユーザー名 [パスワード | *] [オプション]] [/DOMAIN]
ユーザー名 {パスワード | *} /ADD [オプション] [/DOMAIN]
ユーザー名 [/DELETE] [/DOMAIN]
ユーザー名 [/TIMES:{時間 | ALL}]
ユーザー名 [/ACTIVE: {YES | NO}]
NET USER は、コンピューターのユーザー アカウントを作成および変更します。スイッチ
なしで使用した場合は、コンピューターのユーザー アカウントの一覧が表示されます。
ユーザー アカウント情報はユーザー アカウント データベースに格納されます。
ユーザー名 追加、削除、変更、または表示するユーザー アカウントの名前です。
ユーザー アカウントの名前には 20 文字まで使用できます。
パスワード ユーザー アカウントにパスワードを割り当てるか、またはパスワード
を変更します。パスワードの長さは、NET ACCOUNTS コマンドの
/MINPWLEN オプションで設定した最小値以上でなければなりません。
パスワードには 14 文字まで使用できます。
* パスワードを要求するプロンプトを表示します。プロンプトに
入力するときに、入力したパスワードは表示されません。
/DOMAIN 現在のドメインのドメイン コントローラーに対して操作を実行します。
/ADD ユーザー アカウント データベースにユーザー アカウントを追加します。
/DELETE ユーザー アカウント データベースからユーザー アカウントを削除
します。
オプション 次のとおりです。
オプション 説明
--------------------------------------------------------------------
/ACTIVE:{YES | NO} アカウントをアクティブ化または非アクティブ化
します。アカウントがアクティブでない場合、
ユーザーはサーバーにアクセスできません。
既定値は YES です。
/COMMENT:"テキスト" ユーザーのアカウントに関する説明的なコメントを
表示します。テキストは二重引用符で囲みます。
/COUNTRYCODE:nnn ユーザーのヘルプおよびエラー メッセージに、指定
された言語ファイルを実装する際に、オペレーティング
システムの国/地域番号を使用します。
値 0 は、既定の国/地域番号を示します。
/EXPIRES:{日付 | NEVER} 日付が設定されている場合、アカウントに期限が
設定されます。NEVER を指定した場合は、アカウント
の期限は設定されません。期限の形式は、
mm/dd/yy(yy) です。月には、数字、n 月 (n は 1
から 12 の数字)、または 3 文字の省略英語表現を
使用できます。年は、下 2 桁または 4 桁です。
日付はスラッシュ (/) で区切ります。
/FULLNAME:"名前" ユーザーのフル ネームです (ユーザー名では
ありません)。名前は二重引用符で囲みます。
/HOMEDIR:パス名 ユーザーのホーム ディレクトリのパスを設定します。
存在するパスを指定する必要があります。
/PASSWORDCHG:{YES | NO} ユーザーが自分のパスワードを変更できるかどうかを
指定します。既定値は YES です。
/PASSWORDREQ:{YES | NO} ユーザー アカウントにパスワードを設定するか
どうかを指定します。既定値は YES です。
/LOGONPASSWORDCHG:{YES|NO} ユーザーが次回ログオンしたときに自分のパスワードを
変更しなければならないかどうかを指定します。既定値
は NO です。
/PROFILEPATH[:パス] ユーザーのログオン プロファイルへのパスを設定
します。
/SCRIPTPATH:パス名 ユーザーのログオン スクリプトの場所です。
/TIMES:{時間 | ALL} ログオン時間です。TIMES の形式は、曜日[-曜日]
[,曜日[-曜日]],時間[-時間][,時間[-時間]] です。
1 時間単位で設定します。曜日には、英語または
英語の省略形を使用できます。時間は、12 時間表記
または 24 時間表記です。12 時間表記の場合は、
am、pm、a.m.、または p.m. を使用します。
ALL は、ユーザーが常時ログオンできることを示し
ます。空白の値は、ユーザーがログオンできない
ことを示します。曜日と時間のエントリはコンマで
区切り、複数の曜日および時間のエントリは
セミコロンで区切ります。
/USERCOMMENT:"テキスト" 管理者は、アカウントのユーザー コメントを追加
または変更できます。
/WORKSTATIONS:{コンピューター名[,...] | *}
ユーザーがネットワークにログオンできる
コンピューターを 8 台まで指定します。/WORKSTATIONS
にリストを指定しない場合、またはリストの内容が *
である場合、ユーザーはどのコンピューターからもログ
オンできます。
「NET HELP コマンド | MORE」と入力すると、ヘルプが一度に 1 画面ずつ表示され
ます。
net userで現状を確認する
[net user]コマンドを実行することにより、ローカル端末上に登録されているユーザアカウント一覧を確認することができます。*ActiveDirectoryに参加している場合は、「/domain」オプションを加えて、[net user /domain]とすると、ActiveDirectoryドメインのユーザアカウント一覧が確認できます。
net user <アカウント名>
アカウントの詳細情報を確認する場合に使用します。
set user
[set user]で現在自分がどのアカウントでサインインしているかが確認できます。
net user でアカウントの作成/削除
[net user]コマンドの花形の1つが、アカウント作成と削除です。
システム管理者などは、職員の入社退職が発生した際には、[net user /add(delete)]でアカウントを作成/削除していると思います。
アカウントの作成
初期では、ローカルコンピュータ上に、パスなしのローカルユーザアカウントが作成します。
このコマンドを実行すると、「パスワードはパスワードポリシー要件を満たしていません。。。」とエラー表示されることがあります。その時は、「net user <useraccount> <pw> /add」として、初期段階でパスワードを設定しておきます。
アカウントの削除
既存のアカウントを削除する場合は「net user <accountname> /delete」とすればそれえOKです。
パスワードの変更
作成したパスワードを変更するには、「 net user <account name> <pw>」とすればよい。GUIインターフェイスと違い、元のパスワードを入力する必要がないのが便利な点です。
パスワードの変更については、管理者権限でのコマンドプロンプト仕様が必要になります。一般ユーザアカウントでは操作できないので注意が必要になります。
パスワードをインタラクティブに入力させる
先程のパスワード変更方法では、設定したパスワードがコマンドプロンプトの履歴に残ってしまい、他人にショルダーハッキングされる恐れがあります。そこでこれを避けるためにパスワードをインタラクティブに入力させましょう。
そのためには、net user <username> <*>と入力します。すると、パウワードを2回入力することが求められて、2回同じパスワードを入力するとパスワードが変更されます。
パスワードをランダムに発行させる
パスワードをランダムに発行さえることも可能です。
パスワード文字列の代わりに</random>と入力することで、ランダムなパスワードが自動生成されます。