![Windows 7 をシャットダウンまたは再起動する前にスクリプトを実行する](https://rvso.com/image/1414724/Windows%207%20%E3%82%92%E3%82%B7%E3%83%A3%E3%83%83%E3%83%88%E3%83%80%E3%82%A6%E3%83%B3%E3%81%BE%E3%81%9F%E3%81%AF%E5%86%8D%E8%B5%B7%E5%8B%95%E3%81%99%E3%82%8B%E5%89%8D%E3%81%AB%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B.png)
シャットダウンまたは再起動時に 1 回だけ実行されるスクリプトのレジストリ エントリが必要です。インストール後に機密データをクリーンアップする必要があります。そのため、インストールが失敗したり中断されたりしても、データが残らない可能性があります。
システムはグループ ポリシーを利用できません。また、他のソフトウェア インストール スクリプトの最後に何かを入れることもできません。そのため、ソフトウェア インストール スクリプトにシャットダウン コマンドを入れることができません。
つまり、実際には、何らかのシャットダウン runonce レジストリ キーが必要になります。
答え1
これはシャットダウン時には不可能です。シャットダウン スクリプトを実行する唯一の方法は、グループ ポリシーを使用することです。
唯一のオプションは、次回の再起動時に実行することです。そのためのレジストリ キーは次のとおりです。
HKLM\Software\Microsoft\Windows\現在のバージョン\RunOnce
HKLM を HKCU (ローカル マシンではなく現在のユーザー) に置き換えることができますが、これは現在のユーザーがログインしている場合にのみ実行されますが、LM はすべてのユーザーに対して実行されます。LM を使用するには管理者権限が必要ですが、CU では必要ありません。したがって、LM サブツリーに書き込む場合は、プログラムを管理者権限で実行する必要があります。
答え2
Windows 7 は、ローカル グループ ポリシーを通じてシャットダウン スクリプトを実行する機能を完全に備えています。