どうもミツシマです。
今回はWindowsでパスワード入力を不要とする自動ログオンをコマンドにて設定する方法を検証してみた。
検証環境は以下の通り
DC:Windows Server 2016
PC:Windows10 Pro 1809
1.Windowsボタン+「R」ボタンを押して、「ファイル名を指定して実行」をクリック
2.「netplwiz」(または「control userpasswords2」)と入力して、「OK」をクリック
3.自動ログオンさせたいユーザーを選択して、「ユーザーがこのコンピューターを使うには
ユーザー名とパスワードの入力が必要」のチェックを外してOKをクリック
4.パスワードを入力して完了
WORKGROUP環境であれば、上記手順でOK
が、ドメイン環境の場合は「ユーザーがこのコンピューターを使うにはユーザー名とパスワードの入力が必要」という項目がなく、レジストリから設定する必要がある!!
レジストリ値としては以下の通り
今回はドメイン環境を想定して作成してみた
その為、「AutoLogonDomain」・「AutoLogonUser」・「AutoLogonPassword」の値を変更してもらえればどの環境でも使用可能なはず!!
その後はいつもどおり管理者権限で実行されているかを確認し、そうでない場合には管理者権限で再実行(今回設定するレジストリが管理者権限がないと設定出来ない箇所のため。。)
後は「reg add」コマンドを使用してそれぞれレジストリ値を設定して完了。
設定後はPCを再起動して終了!
<設定後のレジストリ画面>
また、解除する際のbatも作成してみた
今回の検証は以上で終了
実際に自動ログオン設定する機会はあまりないかもしれないが、それゆえに設定する場面になると「なんだっけ?」となる設定なんだよなぁ〜〜
今回はWindowsでパスワード入力を不要とする自動ログオンをコマンドにて設定する方法を検証してみた。
検証環境は以下の通り
DC:Windows Server 2016
PC:Windows10 Pro 1809
〜GUIでの設定方法のおさらい〜
まずはGUIでの設定方法する場合1.Windowsボタン+「R」ボタンを押して、「ファイル名を指定して実行」をクリック
2.「netplwiz」(または「control userpasswords2」)と入力して、「OK」をクリック
3.自動ログオンさせたいユーザーを選択して、「ユーザーがこのコンピューターを使うには
ユーザー名とパスワードの入力が必要」のチェックを外してOKをクリック
4.パスワードを入力して完了
WORKGROUP環境であれば、上記手順でOK
が、ドメイン環境の場合は「ユーザーがこのコンピューターを使うにはユーザー名とパスワードの入力が必要」という項目がなく、レジストリから設定する必要がある!!
レジストリ値としては以下の通り
(自動ログオンの有効化)
キー:HKLM¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥Winlogon
値:AutoAdminLogon
データ:1
(自動ログオンするユーザー名)
キー:HKLM¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥Winlogon
値:DefaultUserName
データ:<対象ユーザー名>
(自動ログオンするユーザーのパスワード)
キー:HKLM¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥Winlogon
値:DefaultPassword
データ:<対象ユーザーのパスワード>
(自動ログオンするドメイン名) ※ドメイン環境のみ必要でWORKGROUPは不要
キー:HKLM¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥Winlogon
値:DefaultDomainName
データ:<自動ログオンするドメイン名>
キー:HKLM¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥Winlogon
値:AutoAdminLogon
データ:1
(自動ログオンするユーザー名)
キー:HKLM¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥Winlogon
値:DefaultUserName
データ:<対象ユーザー名>
(自動ログオンするユーザーのパスワード)
キー:HKLM¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥Winlogon
値:DefaultPassword
データ:<対象ユーザーのパスワード>
(自動ログオンするドメイン名) ※ドメイン環境のみ必要でWORKGROUPは不要
キー:HKLM¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥Winlogon
値:DefaultDomainName
データ:<自動ログオンするドメイン名>
〜コマンドでやってみた〜
ではレジストリの項目もわかったので早速コマンドを作成今回はドメイン環境を想定して作成してみた
<SetAutoLogon.bat>
@echo off
REM 各種環境変数設定
set AutoLogonDomain=MITSU
set AutoLogonUser=testuser01
set AutoLogonPassword=password01
REM 管理者権限か確認
net session > nul 2>&1
REM 管理者権限でなければ「管理者権限で再実行」(SUDO)
IF %ERRORLEVEL% neq 0 goto SUDO
REM オートログオン有効化
reg add "HKLM¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥Winlogon" /v AutoAdminLogon /t REG_SZ /d 1 /f
reg add "HKLM¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥Winlogon" /v DefaultDomainName /t REG_SZ /d %AutoLogonDomain% /f
reg add "HKLM¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥Winlogon" /v DefaultUserName /t REG_SZ /d %AutoLogonUser% /f
reg add "HKLM¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥Winlogon" /v DefaultPassword /t REG_SZ /d %AutoLogonPassword% /f
exit
:SUDO
powershell start-process %~f0 -verb runas
exit
REM 各種環境変数設定
set AutoLogonDomain=MITSU
set AutoLogonUser=testuser01
set AutoLogonPassword=password01
REM 管理者権限か確認
net session > nul 2>&1
REM 管理者権限でなければ「管理者権限で再実行」(SUDO)
IF %ERRORLEVEL% neq 0 goto SUDO
REM オートログオン有効化
reg add "HKLM¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥Winlogon" /v AutoAdminLogon /t REG_SZ /d 1 /f
reg add "HKLM¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥Winlogon" /v DefaultDomainName /t REG_SZ /d %AutoLogonDomain% /f
reg add "HKLM¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥Winlogon" /v DefaultUserName /t REG_SZ /d %AutoLogonUser% /f
reg add "HKLM¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥Winlogon" /v DefaultPassword /t REG_SZ /d %AutoLogonPassword% /f
exit
:SUDO
powershell start-process %~f0 -verb runas
exit
〜解説〜
まず変数に各パラメータを代入その為、「AutoLogonDomain」・「AutoLogonUser」・「AutoLogonPassword」の値を変更してもらえればどの環境でも使用可能なはず!!
その後はいつもどおり管理者権限で実行されているかを確認し、そうでない場合には管理者権限で再実行(今回設定するレジストリが管理者権限がないと設定出来ない箇所のため。。)
後は「reg add」コマンドを使用してそれぞれレジストリ値を設定して完了。
設定後はPCを再起動して終了!
<設定後のレジストリ画面>
また、解除する際のbatも作成してみた
<UnSetAutoLogon.bat>
@echo off
REM 管理者権限か確認
net session > nul 2>&1
REM 管理者権限でなければ「管理者権限で再実行」(SUDO)
IF %ERRORLEVEL% neq 0 goto SUDO
REM オートログオン無効化
reg add "HKLM¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥Winlogon" /v AutoAdminLogon /t REG_SZ /d 0 /f
reg delete "HKLM¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥Winlogon" /v DefaultDomainName /f
reg delete "HKLM¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥Winlogon" /v DefaultUserName /f
reg delete "HKLM¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥Winlogon" /v DefaultPassword /f
exit
:SUDO
powershell start-process %‾f0 -verb runas
exit
REM 管理者権限か確認
net session > nul 2>&1
REM 管理者権限でなければ「管理者権限で再実行」(SUDO)
IF %ERRORLEVEL% neq 0 goto SUDO
REM オートログオン無効化
reg add "HKLM¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥Winlogon" /v AutoAdminLogon /t REG_SZ /d 0 /f
reg delete "HKLM¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥Winlogon" /v DefaultDomainName /f
reg delete "HKLM¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥Winlogon" /v DefaultUserName /f
reg delete "HKLM¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥Winlogon" /v DefaultPassword /f
exit
:SUDO
powershell start-process %‾f0 -verb runas
exit
今回の検証は以上で終了
実際に自動ログオン設定する機会はあまりないかもしれないが、それゆえに設定する場面になると「なんだっけ?」となる設定なんだよなぁ〜〜
スポンサードリンク
コメント