Windows 10 Home Editionのシャットダウン時に、手動再起動とWindows自動更新による自動再起動の両方でバッチスクリプトを実行する必要があります。これは、ユーザーがログインしていないときにも機能する必要があります。これまでに試したところ:
私はこの制限にかなりうんざりしています。 ????
何か案は?
Edit1:Windowsの自動更新を考慮します。
Edit2:これは、ユーザーがログインしていないときにも機能する必要があります。
Edit4:Windowsのアップデートが原因で次のWindows自動再起動が実行されるかどうかを確認していますshutdown -a
バッチファイルの先頭に、次にshutdown -s
終了時にスケジュールされたタスク内の終了イベントでアプローチが機能します。
Edit5:残念、うまくいきませんでした。スケジュールされたタスクが開始されませんでした:エラー:「シャットダウン中」。私の唯一の希望はサードパーティのツールだと思います。
私は以前にこれをAutoHotkeyで行いました。このスクリプトはテストされ、機能しています。
デスクトップに「テストファイル」を作成する基本的なバッチファイルを作成しました。 AHKファイルを実行し、実行したままにします。スクリプトがシャットダウンを検出すると、バッチファイルを実行します。
スクリプトの先頭にあるテキストファイルへのパスを必ず設定してください。
AutoHotkeyスクリプト:
;==============================
;Set the path to your batch file.
path := "C:\batch.bat"
;==============================
; Run script as admin. This will allow your batch file to be ran with admin priv.
if not A_IsAdmin
{
Run *RunAs "%A_ScriptFullPath%" ; Requires v1.0.92.01+
ExitApp
}
; Only allow one instance of the script to run.
#SingleInstance, Force
; If you don't want an icon to show in the tray,
; remove the semicolon from the line below.
;#NoTrayIcon
; When script detects WM_QUERYENDSESSION (a shutdown), run OnShutDown function.
OnMessage(0x11, "OnShutDown")
return
OnShutDown(){
; Run the batch file.
Run, % path
ExitApp
}
テストに使用したバッチファイル:
echo Write file before shutdown > %USERPROFILE%\Desktop\ShutdownTest.txt
必要に応じて、AHKから直接バッチファイルコマンドをいつでも実行できます。
更新:次のユーザーがログオンする前に行う必要がある場合は、それをマシンの起動スクリプトに入れることでニーズを満たすことができます。電源を切る前に実行する必要がある場合は、シャットダウンスクリプトが適切です。
ホームエディションでローカルポリシーを変更してこれらのスクリプトを機能させることができない場合、それはホームエディションの制限であり、アップグレードが必要になる場合があります。ただし、 TechNet は、Windows以外のシャットダウンスクリプトの設定方法についての説明を狭めません。
また、コンピューターのシャットダウンスクリプトは、コンピューターのアクセス許可で実行されます。ユーザーログオフスクリプトは、ログオンしたユーザーの権限で実行されます。
バッチスクリプトを使用してシャットダウンしますか?シャットダウンスクリプトの最後でシャットダウンコマンド( "shutdown -t 0")を使用するだけです。デスクトップにスクリプトへのショートカットを置き、電源ボタンアイコンを使用します。 (スタートメニューのシャットダウンオプションではなく、スクリプトによるシングルユーザーシャットダウンに基づく回答を削除)。