ドメインから抜けたりする際に、Windowsのローカル環境上にあるアカウントを使用する必要があるケースがあると思いますが、ローカルアカウントの設定変更や管理などに利用できるコマンドをまとめてみました。
ローカルユーザーの確認コマンド
コマンドプロンプトからWindowsに登録されているユーザ一覧を表示するには、net userコマンドを利用します。
> net user
オプションにユーザ名(UserID)を指定することで、ユーザの詳細情報を確認することができます。
> net user ユーザ名
ユーザの新規作成コマンド
コマンドプロンプトからユーザを作成するには、net userコマンドで「/add」オプションを指定します。
> net user ユーザ名 パスワード /add
グループ設定コマンド
ユーザを権限グループに所属させる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グループに所属させるバッチファイルです。
テキストエディタ(notepad.exe等)に貼り付け→名前を付けて保存で拡張子を.batにして保存してください
@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 12回を上限として、パスワード設定のリトライ処理を行う
if %retry_cnt% gtr 12 ( 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
コメント