Windows のシャットダウン時に実行するタスクをスケジュールする方法
-
01-07-2019 - |
質問
Windows XP で Windows をシャットダウンするときにタスクを実行するようにスケジュールするにはどうすればよいですか。Windows をシャットダウンするたびに、C# で作成した単純なコマンド ライン プログラムを実行したいと考えています。スケジュールされたタスクには、コンピューターのシャットダウン時にこのタスクを実行するオプションがないようです。
解決
gpedit.msc (ローカル ポリシー) を実行します。
コンピューターの構成 -> Windows の設定 -> スクリプト -> シャットダウン -> プロパティ -> 追加
他のヒント
Dan Williams の回答に加えて、追加したい場合は、 起動/シャットダウン スクリプトを実行するには、以下の Windows 設定を探す必要があります。 コンピュータの構成. 。を追加したい場合は、 ログオン/ログオフ スクリプトを実行するには、以下の Windows 設定を探す必要があります。 ユーザー設定.
この情報を含めてダンの発言を繰り返すと、
起動/シャットダウンの場合:
- gpedit.msc を実行します (ローカル ポリシー)
- コンピューター 構成 -> Windows 設定 -> スクリプト -> 起動する または シャットダウン -> プロパティ -> 追加
ログオン/ログオフの場合:
- gpedit.msc を実行します (ローカル ポリシー)
- ユーザー 構成 -> Windows 設定 -> スクリプト -> ログオン または ログオフ -> プロパティ -> 追加
ソース: http://technet.microsoft.com/en-us/library/cc739591(WS.10).aspx
タスク スケジューラを使用したい場合は、イベント ビューアのシステム ログにイベント 1074 が記録された後にタスクを実行するように設定することで、再起動/シャットダウンの開始後にタスクを実行するようにスケジュールすることができます。ただし、これは非常に短いタスクにのみ適しており、システムが再起動またはシャットダウンしている間実行されます (通常は数秒しかかかりません)。
- タスク スケジューラから:
タスクを開始します。イベントについて
ログ:システム
ソース:ユーザー32
イベントID:1074 - コマンド プロンプトから:
schtasks /create /tn "タスク名" /tr "タスク ファイル" /sc onevent /ec system /mo *[system/eventid=1074]
コメント:/ec オプションは Windows Vista 以降で使用できます。(@t2d ありがとう)
タスクのステータスは次のとおりであることに注意してください。
ユーザーがネットワークにログオンしていないため、要求された操作は実行されませんでした。指定されたサービスは存在しません。(0x800704DD)
ただし、実行されなかったわけではありません。
回避策の 1 つは、プログラムを実行するための簡単なバッチ ファイルを作成してからコンピュータをシャットダウンすることです。
コマンドラインからシャットダウンできるため、スクリプトは非常に単純になります。
c:\directory\myProgram.exe
C:\WINDOWS\system32\shutdown.exe -s -f -t 0
GPEdit.MSC を実行する場合は、[コンピューターの構成] -> [Windows の設定] -> [スクリプト] に移動し、起動/シャットダウン スクリプトを追加できます。これらは、単純なバッチ ファイルである場合もあれば、本格的な EXE である場合もあります。また、この同じツールでログオン スクリプトとログオフ スクリプトのユーザー構成を調整することもできます。このツールは、Windows XP Home では使用できません。
グループ ポリシー エディターについては、上記の投稿では言及されていません。私は GPedit を何度も使用して、起動時またはシャットダウン時にタスクを実行しました。GPedit にアクセスして操作する方法に関する Microsoft の手順は次のとおりです。
プログラムを呼び出すバッチ ファイルを実行できます。その方法については、ここでの説明を確認してください。http://www.pcworld.com/article/115628/windows_tips_make_windows_start_and_stop_the_way_you_want.html
(グーグル検索より:Windows では、シャットダウン時にタスクが実行されるようにスケジュールを設定します)
私が提案できるのは、.bat ファイルへのショートカットを (デスクトップなどに) 作成し、コンピューターをシャットダウンする (そして .bat ファイルを実行する) ときに、作成したショートカットをクリックすることです。これを行った後、.bat ファイルを編集し、次のコード行を最後または必要な場所に追加します。
c:\windows\system32\shutdown -s -f -t 00
これは何をするのですか
- シャットダウンプロセスを実行します
- アラートを表示します
- 実行中のすべてのプロセスを強制的に停止します
- すぐに実行
Windows 10 Proではバッチファイルを登録できます。cmd.exe を登録し、bat ファイルをパラメータとして指定するという回避策は必要ありません。シャットダウン スクリプトと起動 (ブート) スクリプトの両方を登録して、これを実行したところ、うまくいきました。