こんにちは!今回は自動でWindowsにログオンするための設定方法を紹介していきたいと思います!
実際にはとてもセキュリティが疎かになってしまうため、通常自動ログオンは推奨されてはいません。だれでも使えてしまうわけですから当然ですよね。
ですが、共用の場所に設置するコンピュータだったり、自動でバッチ処理をしたい時など、ログインが壁になってしまうことがままあります。
そんな時、自動ログインを設定しておけばログイン画面で止まったままにならないのは有効な方法です。あまり褒められた行為ではないですが、電源を入れたらノンストップで使い始めることもできますしね。
そんな自動ログオンを有効にする方法を紹介していきます!
やりたいこと
コンピュータの電源を入れたら、Windowsのログオンを自動で行い、デスクトップが表示される状態にしたい
ユーザー選択・パスワード入力を省略して、Windowsがすぐ使える状態にしていきたいと思います。
コマンド例
自動ログオンを有効にする
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "AutoAdminLogon" /t REG_DWORD /d "1" /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "DefaultUserName" /t REG_SZ /d "%USERNAME%" /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "DefaultPassword" /t REG_SZ /d "%PASSWORD%" /f
※%USERNAME%には自動ログインしたいユーザー名、%PASSWORD%にはそのユーザーのパスワードを記入してください。
※実行時は管理者権限で実行しているコマンドラインを使用してください。
コマンドが正常終了後、再起動するとパスワード入力なしにWindowsへのログインが完了しますので確認してみてください。
自動ログオンを無効にする
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "AutoAdminLogon" /t REG_DWORD /d "0" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "DefaultUserName" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "DefaultPassword" /f
コマンドが正常終了後、再起動するとWindowsへのログイン時に通常通りパスワード入力画面になります。確認してみてください。
解説
自動ログオンするために行う設定はすべてレジストリで完結することができます。
そのレジストリキーは、「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon」に格納されています。
この3つのキーについて解説していきたいと思います。
※「DefaultPassowrd」は何もしていない場合存在しないレジストリキーです。レジストリエディタで自動ログオンを設定する場合は下記を参考に手動で作成してください。
自動ログインを有効にするレジストリ
まずは機能を有効にするためのレジストリとして、「AutoAdminLogon」キーの設定が必要です。
「AutoAdminLogon」キーは整数値のレジストリです。
レジストリ値の意味としては、「0=無効、1=有効」になります。
自動ログオンを有効にしたい場合はまずこのレジストリキーを「1」に設定することから始まります。
この設定をコマンドにすると、コマンド例で記した通りですが下記のようになります。
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "AutoAdminLogon" /t REG_DWORD /d "1" /f
自動ログインをするユーザーを指定するレジストリ
次に自動ログインするユーザーの指定を行います。ユーザーの指定は、「DefaultUserName」に格納します。
「DefaultUserName」は文字列のレジストリです。
このレジストリに格納されているユーザー名で自動ログインを行います。
ユーザー名は、「コンピューターの管理」画面で確認するか、ログインしているユーザーで「%USERNAME%」を「echo」することで確認できます。登録されているユーザー名でしかログインできないので、表示名を変更している場合は確認してみてください。
「コンピューターの管理」はWinキー+Xを押してコンピューターの管理をクリックするのが一番簡単だと思います。
「echo」で確認する場合は下記コマンドをログインしたいユーザーのコマンドラインで実行してください。
コマンドラインを起動する場合は、Winキー+Xを押して「PowerShell」か「コマンドプロンプト」をクリックすればよいと思います。
echo %USERNAME%
現在ログインしているユーザーを登録したい場合は、「%USERNAME%」がそのまま現在のユーザー名が反映されるので、下記のようなコマンドで登録することができます。
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "DefaultUserName" /t REG_SZ /d "%USERNAME%" /f
自動ログイン時に使用するパスワードを指定するレジストリ
最後にパスワードです。パスワードは「DefaultPassword」キーに格納します。
「DefaultPassword」は文字列のレジストリキーです。
先ほど設定したユーザー名のパスワードを入力してあげることで、Windowsが起動時にパスワードまで入力してくれます。
初期状態では存在していないので、手動で設定したい場合は作成する必要があります。
手動で設定したい場合はレジストリエディタの空いているスペースで右クリックをするとメニューが出てきますので、「新規」→「文字列値」とクリックし、レジストリキー名に「DefaultPassword」と名前を付けてください。
出来上がったレジストリキーをダブルクリックで開き、「値のデータ」にパスワードを入力し、「OK」をクリックすればパスワードの設定は完了です。
これらの作業をまとめたのが、下記コマンドです。
※「%PASSWORD%」はログオンするユーザーのパスワードに置き換えてください。
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "DefaultPassword" /t REG_SZ /d "%PASSWORD%" /f
自動ログオンを無効にする
無効にする場合は、「AutoAdminLogon」キーを「0」にし、「DefaultUserName」と「DefaultPassword」キーを削除すればOKです。
特に「DefaultPassword」キーは残したままにしておくとレジストリ上でパスワードが見えてしまう状態になってしまうので、不要な場合は確実に削除しておきましょう!
あとがき
今回はWindowsのログインを自動化する方法を紹介させていただきました。
ログインを自動化するのは、セキュリティという観点ではあまり推奨できるものではありません。
ですが、バッチファイルなどを利用する場合、再起動などでログイン画面にも戻ってしまうと処理が止まってしまいます。そういった時に役に立つ方法でもあります。
とは言え、パスワード入力なしでWindowsが起動できるのは少し魅力的だとも思います。
パスワード入力も10秒ほどかかるのが普通ですから、生涯で1万回入力したとして、約28時間の節約になるんですよね。1日分以上の節約になると考えると考えモノですね(汗
何かのお役に立てれば幸いです!
参考サイト様
ありがとうございます!
コメント
[…] 【Windows】自動ログオンをレジストリで設定してみよう … […]
[…] 【Windows】自動ログオンをレジストリで設定してみよう … […]