見出し画像

Windows オートログイン(スクリーンセーバー状態から)|RPA対策|セキュリティ対策

定期的にスクリーンセーバーが実行されスクリーンセーバー解除時にログオン画面が表示されパス入力しないとログオンできない設定にしたい。
(セキュリティの観点から)
しかし、定期実行させたいRPAがありスクリーンセーバー状態ではRPAが正常動作しない。
RPAを正常動作させるためRPA実行前にスクリーンセーバー解除(ログオン)を自動でさせたい。
ログオン後(RPA実行後)は、再度スクリーンセーバー状態となりスクリーンセーバー解除にはログオン画面からパス入力を必須としたい。


バッチファイル

#1 UnSetAutoLogon.bat
  ログオン時にパスワード入力を必須とするバッチ

#2 SetAutoLogon.bat
  ログオン時にパスワード入力を不要とするバッチ

#3 Shutdown.bat
  PCを再起動させるバッチ


#1 UnSetAutoLogon.bat

@echo off
net session > nul 2>&1
IF %ERRORLEVEL% neq 0 goto SUDO
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



#2 SetAutoLogon.bat

REM @echo off
set AutoLogonDomain=ドメイン名
set AutoLogonUser=ログオンユーザー名
set AutoLogonPassword=ログオンパスワード
net session > nul 2>&1
IF %ERRORLEVEL% neq 0 goto SUDO
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoAdminLogon /t REG_SZ /d 1 /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultDomainName /t REG_SZ /d %AutoLogonDomain% /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultUserName /t REG_SZ /d %AutoLogonUser% /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultPassword /t REG_SZ /d %AutoLogonPassword% /f
exit
:SUDO
powershell start-process %~nx0 -verb runas
exit

ドメイン名、ログオンユーザー名、ログオンパスワードを設定端末情報に変更してください。


#3 Shutdown.bat コード

shutdown.exe /r /f /t 0


設定方法


① 設定 → 個人設定 → スクリーンセーバーから
  "(なし)"以外を選び"再開時にログオン画面に戻る(R)"にチェック

② タスクスケジューラーに#1を登録
  トリガー:ログオン時に設定
  操作:#1ファイルパスを設定

③ タスクスケジューラーに#2を登録
  トリガー:RPA実行数分前
  操作:#2ファイルパスを設定

④ タスクスケジューラーに#3を登録
  トリガー:③実行数分あと
  操作:#3ファイルパスを設定

⑤ タスクスケジューラーにRPAを登録
  トリガー:④実行数分あと
  操作:RPAを設定


動作説明


※ PCがスクリーンセーバー状態(ログオン時パス入力必須)

① 定時になると#2 SetAutoLogon.batを実行し
  ログオン時にパスワード入力を不要とする設定にします。
  (バッチからレジストリの変更)

② 次に#3 Shutdown.batを実行し再起動を実行します。
  ※ 起動中のアプリは強制終了されます。

③ ログオン画面が表示されますが、
  パスワード入力不要でログオンされデスクトップ画面が
  表示されます。

④ ログオン直後に#1 UnSetAutoLogon.batを実行し
  ログオン時にパスワード入力必須とする設定に戻します。
  (バッチからレジストリの変更)

⑤ RPAが実行され任意の処理が完了。

⑥ PC操作が一定期間ない場合、
  スクリーンセーバー状態(ログオン時パス入力必須)に
  なります。

以上で、RPA実行直前にログオン時のパス入力必須が解除され
RPA実行後はスクリーンセーバー状態(ログオン時パス入力必須)状態となり
セキュリティを担保しつつRPAを提示実行させる事ができます。

UnSetAutoLogon.batとSetAutoLogon.batは、
以下サイトから引用


よろしければサポートお願いします。