タスク スケジューラで実行されている Powershell スクリプトが結果を生成しない

タスク スケジューラで実行されている Powershell スクリプトが結果を生成しない

Windows Server 2012 でスケジュールされたタスクとして Powershell スクリプト ファイルを実行しようとしています。スクリプトは、xml フィルターを使用してイベント ビューアーでイベントを選択し、テキスト ファイルに保存します。スクリプト ファイルは Sugar2SvcNowLog.ps1 という名前で、次のテキストが含まれています。

Get-WinEvent -FilterXml ([xml] (Get-Content "Desktop\Sugar2SvcNow.xml")) | format-table ProviderName, TimeCreated, Id, LevelDisplayName, message -wrap -autosize | Out-File -FilePath "C:\Users\yvoloshin_pdadmin\Desktop\Sugar2SvcNowLog $(get-date -f yyyy-MM-dd_HHmmss).txt"

このスクリプトを Windows コマンド プロンプトで次のように実行すると、意図したとおりにテキスト ファイルが作成されます。

powershell -file "C:\Users\yvoloshin_pdadmin\Desktop\Sugar2SvcNowLog.ps1"

次に、実行するプログラムを次のように設定し"powershell"、引数を次のように設定したタスクスケジューラジョブを設定します。

-file "C:\Users\yvoloshin_pdadmin\Desktop\Sugar2SvcNowLog.ps1"

ジョブが実行されると、ステータスは「操作が正常に完了しました」と表示されます。しかし、テキスト ファイルが生成されません。ファイルが生成されない場合、操作を正常に完了するにはどうすればよいでしょうか。他に何をすればよいでしょうか。

答え1

スクリプトは を参照していますDesktop

ただし、タスク スケジューラから実行すると、ユーザー ログインとデスクトップは存在しません。

ファイルをSugar2SvcNow.xml何らかのフォルダに置き、スクリプトにその完全なパスを指定することをお勧めします。

関連情報