Windows XP で、Windows をシャットダウンするときに実行するタスクをスケジュールする方法を教えてください。Windowsをシャットダウンするたびに、c#で書いた単純なコマンドラインプログラムを実行したい。スケジュールされたタスクには、コンピューターのシャットダウン時にこのタスクを実行するオプションがないようです。
11 に答える
gpedit.msc を実行します (ローカル ポリシー)
コンピューターの構成 -> Windows の設定 -> スクリプト -> シャットダウン -> プロパティ -> 追加
Dan Williams の回答に加えて、Startup/Shutdownスクリプトを追加する場合は、 Computer Configurationで Windows Settings を探す必要があります。ログオン/ログオフスクリプトを追加する場合は、 [ユーザーの構成] で Windows の設定を探す必要があります。
したがって、この情報を含めてダンが言ったことを繰り返します。
起動/シャットダウンの場合:
- gpedit.msc (ローカル ポリシー) を実行します。
- コンピューターの構成 -> Windows の設定 -> スクリプト ->スタートアップまたはシャットダウン-> プロパティ -> 追加
ログオン/ログオフの場合:
- gpedit.msc (ローカル ポリシー) を実行します。
- ユーザーの構成 -> Windows の設定 -> スクリプト ->ログオンまたはログオフ-> プロパティ -> 追加
ソース: http://technet.microsoft.com/en-us/library/cc739591(WS.10).aspx
GPEdit.MSC を実行すると、[コンピューターの構成] -> [Windows の設定] -> [スクリプト] に移動して、スタートアップ/シャットダウン スクリプトを追加できます。これらは、単純なバッチ ファイルである場合もあれば、本格的な EXE である場合もあります。また、この同じツールでログオン スクリプトとログオフ スクリプトのユーザー構成を調整することもできます。このツールは、Windows XP Home では使用できません。
グループ ポリシー エディターについては、上記の投稿では言及されていません。GPedit をかなりの回数使用して、起動時またはシャットダウン時にタスクを実行しました。GPedit にアクセスして操作する方法に関する Microsoft の説明を次に示します。
回避策の 1 つは、簡単なバッチ ファイルを作成してプログラムを実行し、コンピューターをシャットダウンすることです。
コマンド ラインからシャットダウンできます。そのため、スクリプトはかなり単純になります。
c:\directory\myProgram.exe
C:\WINDOWS\system32\shutdown.exe -s -f -t 0
この回答もスーパーユーザーに投稿しました。
これを行うには、タスク スケジューラでカスタム イベント フィルターを設定する必要があります。
トリガー > 新規 > カスタム > イベントの編集 > XML
次を貼り付けます。
<QueryList>
<Query Id="0" Path="System">
<Select Path="System">
*[System[Provider[@Name='User32'] and (Level=4 or Level=0) and (EventID=1074)]]
and
*[EventData[Data[@Name='param5'] and (Data='power off')]]
</Select>
</Query>
</QueryList>
これにより、電源オフイベントのみが除外されます。
イベント ビューアを見ると、[Windows ログ] > [システム] の[詳細] タブ > [XML ビュー]の 下に、これがあることがわかります。
- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
<Provider Name="User32" Guid="{xxxxx-xxxxxxxxxxx-xxxxxxxxxxxxxx-x-x}" EventSourceName="User32" />
<EventID Qualifiers="32768">1074</EventID>
<Version>0</Version>
<Level>4</Level>
<Task>0</Task>
<Opcode>0</Opcode>
<Keywords>0x8080000000000000</Keywords>
<TimeCreated SystemTime="2021-01-19T18:23:32.6133523Z" />
<EventRecordID>26696</EventRecordID>
<Correlation />
<Execution ProcessID="1056" ThreadID="11288" />
<Channel>System</Channel>
<Computer>DESKTOP-REDACTED</Computer>
<Security UserID="x-x-x-xx-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx-xxxx" />
</System>
- <EventData>
<Data Name="param1">Explorer.EXE</Data>
<Data Name="param2">DESKTOP-REDACTED</Data>
<Data Name="param3">Other (Unplanned)</Data>
<Data Name="param4">0x0</Data>
<Data Name="param5">power off</Data>
<Data Name="param6" />
<Data Name="param7">DESKTOP-REDACTED\username</Data>
</EventData>
</Event>
をクリックすると、イベント ビューアーで上記のクエリ リスト コードを使用してクエリをテストできます。
カスタム ビューの作成... > XML > クエリを手動で編集
コードを貼り付けて、タスク スケジューラで試す前にPower Off Events Onlyという名前を付けます。
プログラムを呼び出すバッチ ファイルを実行できます。その方法については、こちらの説明を参照して ください。
(Google検索から:シャットダウン時に実行されるWindowsスケジュールタスク)