Windows 10でアイドル状態のユーザーを自動ログオフする方法

スクリーンセーバーを使用して非アクティブになった後、(ワークステーションをロックするのではなく)ユーザーをログオフするようにWindows 10を構成できるかどうか疑問に思うかもしれません。 スクリーンセーバーは、ユーザーが指定された時間アイドル状態または非アクティブ状態になった後に起動します。 スクリーンセーバーから再開すると、デスクトップに戻るための資格情報の入力を求められます。

Windows 2003リソースキットツールには、スクリーンセーバーファイルwinexit.scrあります。 winexit.scrWindows終了スクリーンセーバーまたはそれを正確に実行するログオフ スクリーンセーバーと呼ばれています。 ただし、WinExit.scrスクリーンセーバーは、Windows 10を含むWindows Vista以降で実行しようとすると、次のエラーをスローします。

レジストリセクションの作成中にエラーが発生しました。

16年前に開発されたプログラムをWindows 10で動作させる方法は? この記事では、Windows 10でのアイドルタイムアウト後にwinexit.scrスクリーンセーバーを使用してユーザーアカウントからログオフする方法について説明します。

Windows 10の非アクティブユーザーまたはアイドルユーザーの自動ログオフ

WinExitスクリーンセーバーの使用

  1. Windows 2003リソースキットツール( rktools.exe — 11.7 MB)を公式Microsoftダウンロードセンターからダウンロードします。
  2. 7-Zipまたはその他のサードパーティのアーカイブツールを使用してrktools.exeを開き、 rktools.msiファイル内でrktools.msiます。

    $config[ads_text6] not found

  3. winexit.scrを抽出し、 C:\Windows\System32コピーします
  4. レジストリエディター( regedit.exe )を起動し、次のブランチに移動します(それぞれWindows 32ビットシステムと64ビットシステムの場合)。
     [Windows 32ビットの場合] HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ IniFileMapping \ control.ini [Windows 64ビットの場合] HKEY_LOCAL_MACHINE \ SOFTWARE \ WOW6432Node \ Microsoft \ Windows NT \ CurrentVersion \ IniFileMapping \ control.ini 
  5. control.iniを右クリックして[権限]をクリックします
  6. ユーザーアカウントを追加し、 フルコントロールアクセス許可を有効にします。 すべてのアカウントでログオフスクリーンセーバーを機能させるには、各ユーザーを(またはUsersグループを追加して)リストに追加し、 フルコントロールのアクセス許可を付与します。

  7. [OK]をクリックしてダイアログを閉じ、レジストリエディタを終了します。
  8. コントロールパネルの[スクリーンセーバーの設定]ダイアログを開きます。
  9. リストから[ ログオフスクリーンセーバー ]を選択し、[ 設定]をクリックします

  10. WinExitセットアップダイアログで、カウントダウンタイマー値、強制ログオフ、およびカスタムログオフメッセージを必要に応じて設定し、[OK]をクリックします。

    スクリーンセーバーの設定が適用され、アイドルタイムアウトの後に起動し、30秒のカウントダウンタイマーとログオフプロセスをキャンセルするオプションを提供します。 [ アプリケーションの強制終了 ]オプションが選択されている場合、開いているすべてのアプリが終了します。

    関連:ログイン後にWindowsに自動的にログインしてワークステーションを自動ロックする方法

    ログオフスクリーンセーバー構成ファイル

    設定は、ここのVirtualStoreフォルダーの下のcontrol.iniファイルに保存されます。

     C:\ Users \%username%\ AppData \ Local \ VirtualStore \ Windows \ control.ini 

    プログラムはWindows Vistaより前のWindowsバージョン用に設計されているため、プロセスが管理者特権を持っているかどうかを確認せずにC:\Windows\Control.iniに書き込みを試み、ファイルの作成に失敗します。 したがって、ログオフスクリーンセーバーの設定を保存すると、UAC仮想化が開始され、設定は上記のリダイレクトされた場所に書き込まれます。

    メモ帳を使用して上記のファイルを編集し、ログオフスクリーンセーバーの設定を直接構成するか、ファイルを展開することもできます。 次に設定例を示します。

     [Screen Saver.Logoff] ForceLogoff = 1 CountDownTimer = 25 DialogMessage = WinExit Screensaverによってログオフされます。 
関連: Windows 10に更新プログラムをインストールした後に自動シャットダウンする方法

コンピューター上のすべてのユーザーにスクリーンセーバー設定を適用する

control.iniファイルを移動するか、 C:\Windowsディレクトリに手動で作成することもできます。 Windowsディレクトリにファイルを配置すると、設定がコンピューター上のすべてのユーザーアカウントに適用されます。 ただし、[スクリーンセーバーの設定]ダイアログを使用してスクリーンセーバーを構成すると、構成はユーザーごとのVirtualStoreディレクトリに書き込まれます。

管理者としてスクリーンセーバー設定を構成しても、仮想化の問題は発生しません。 スクリーンセーバーを管理者として構成するには、管理者として次のコマンドラインを実行します。

 rundll32.exe shell32.dll、Control_RunDLL desk.cpl、screensaver、@ screensaver 

他にも多くのサードパーティのログオフスクリーンセーバー製品が利用可能ですが、WinExit.scrログオフスクリーンセーバーはWindows 10で問題なく動作するため、それらは必要ない場合があります。

また、スクリーンセーバー以外のメソッドであるLithnet Idle-Logoffをチェックアウトすることもできます。これは、アイドル状態のWindowsユーザーセッションをログオフするためのグループポリシー対応ユーティリティです。 プログラムは、オーストラリアからマイクロソフトの最も価値のあるプロフェッショナル賞を受賞したRyan Newingtonによって開発されました。

関連記事