コマンドプロンプトでWindowsのローカルアカウントを作成および設定変更する方法

ファイル、データ操作関連のアイキャッチ画像 ITセキュリティ

ドメインから抜けたりする際に、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

コメント

タイトルとURLをコピーしました