Windowsユーザ操作コマンド
Windowsコマンドによるユーザ操作
ユーザ一覧の表示
コマンドプロンプトからWindowsに登録されているユーザ一覧を表示するには、net userコマンドを利用します。
> net user
ユーザの詳細情報を確認するにはオプションにユーザ名を指定します。
> net user ユーザ名
ユーザの新規作成
コマンドプロンプトからユーザを作成するには、net userコマンドで「/add」オプションを指定します。
> net user ユーザ名 パスワード /add
ランダムなパスワードを設定する場合には、「/RANDOM」オプションを指定します。
> net user user01 /random
ユーザをグループに所属させるnet localgroupコマンドを実行します。
例えば、Administrators(管理者権限)グループに所属させる場合には下記コマンドを実行します。
> net localgroup administrators ユーザ名 /add
ユーザーアカウントのパスワード設定
ユーザのパスワードを設定/変更するには、以下のコマンド実行します。
> net user ユーザ名 パスワード
パスワードをインタラクティブに入力する場合にはパスワードに「*」を指定します。
> net user user01 *
ランダムなパスワードを設定する場合には、「/RANDOM」オプションを指定します。
> net user user01 /random
ユーザの削除
コマンドプロンプトからユーザを作成するには、net userコマンドで「/delete」オプションを指定します。
> net user ユーザ名 /delete
なお、ユーザープロファイルは自動で削除されないため、手動で削除する必要があります。
> rmdir "C:\Documents and Settings\"%UserName% /S /Q
新規ユーザ作成バッチファイル
新規ユーザを作成して、Administratorsグループに所属させるバッチファイルです。
@echo off
if not "%~3"=="" (
echo USAGE: %~0 username password
exit /b 1
)
REM 定数の定義
setlocal
set USERNAME=%~1
set PASSWORD=%~2
REM 新規ユーザを作成して、パスワードを設定する。
net user %USERNAME% %PASSWORD% /add
if not %ERRORLEVEL% == 0 (
echo ERROR: Failed to add user: %USERNAME%
exit /b 1
)
REM Administrators(管理者権限)グループに所属させる。
net localgroup administrators %USERNAME% /add
if not %ERRORLEVEL% == 0 (
echo ERROR: Failed to set admin-group: %USERNAME%
exit /b 1
)
endlocal
exit /b 0
Administratorを無効化するバッチファイル
管理者ユーザであるAdministratorを無効化するバッチファイルです。
Administratorユーザのパスワードをランダム文字列で設定して、アカウントを無効化します。
@echo off
setlocal
REM リトライ用カウンタ変数の設定
set /a retry_cnt=1
REM Administratorのパスワードをランダム化する
:PW_LOOP
REM パスワードをランダム化する。
net user Administrator /random > nul 2>&1
if %ERRORLEVEL% == 0 ( goto PW_SUCCESS )
REM 15回を上限として、パスワード設定のリトライ処理を行う。
if %retry_cnt% gtr 15 ( goto PW_FAILURE )
set /a retry_cnt=retry_cnt+1
goto PW_LOOP
:PW_FAILURE
echo ERROR: Failed to randomize Administrator's password.
exit /b 1
:PW_SUCCESS
REM Administratorアカウントを無効化する
net user Administrator /active:no
if not %ERRORLEVEL% == 0 (
echo ERROR: Failed to de-active Administrator.
exit /b 1
)
endlocal
exit /b 0