0

powershell 3 の新しいスケジュールされたジョブは素晴らしく見えますが、恐ろしいことに、それらを機能させることができません。

Register-ScheduledJob -FilePath V:\scripts\testJob.ps1 -Name Test
$t = New-JobTrigger -At 6PM -Once
Add-JobTrigger -Trigger $t -Name Test

エラーなどは表示されませんが、スクリプトは実行されません。タスクスケジューラを開くと、ジョブが表示され、「実行されました」と表示されます。しかし、履歴には「アクション完了」があります

Task Scheduler successfully completed task "\Microsoft\Windows\PowerShell\ScheduledJobs\Test" , instance "{a117256e-c3f2-42a7-a290-f21aeb6b2260}" , action "StartPowerShellJob" with return code 1.

タスクスケジューラでスケジュールされたタスクを操作しようとしましたが、どこにも行きませんでした。誰にもアイデアはありますか?

スクリプトは次のようになります。

$path = "C:\temp\jobbit.log"
Get-Date | Out-File -FilePath $path -Append
4

2 に答える 2

2

タスク スケジューラ自体を使用して PowerShell スクリプトを実行すると、同様の問題が発生しました。最終的に動作させる方法は、PowerShell を直接呼び出して、実行したいスクリプトを引数として渡すことでした。

あなたの場合、コマンドレットの構文を正しく理解していれば、次のようになります。

Register-ScheduledJob -Name Test
-FilePath C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
-ArgumentList ("-NonInteractive","C:\scripts\testJob.ps1")

スケジュールされたタスクのランタイム環境は、PowerShell で ps1 ファイルを自動的に実行しないだけだと思います。

于 2013-03-30T02:16:46.713 に答える