2016-04-29 19 views
0

スクリプトを実行しようとすると、タスクスケジューラの下にあります。私は、タスクスケジューラの下でタスクを作成し、一日一回実行するように割り当てられていない問題Windows 2012でpowershellスクリプトを実行できません

powershell.exe -ExecutionPolicy Unrestricted -NonInteractive -NoProfile -File C:\DataProcessing\Scripts\MoveDailyOpra.ps1. 

でPowerShellウィンドウから次のコマンドを実行することができます。しかし、私は仕事が走っているという証拠は見ない。 ps1ファイルはログファイルを作成するので、何が起きているのかはわかりますが、ログファイルも作成されていません。

タスクは正常に実行されたと表示します。

1)タスクスケジューラが実際に行っていることをデバッグする方法 2)他の属性をタスクに追加する必要があります。

+0

問題は、あなたが問題の詳細を提示しない限り、offtopicとして閉じられるでしょう。 – bahrep

+0

これはどのようにしてデバッグされるはずですか?あなたが投稿したのは、あなたが言うことです。失敗したスケジューラーでスクリプトをどのように呼び出すのですか?あなたはそれが失敗していることをどのように知っていますか?エラーメッセージが表示されますか?もしそうなら、投稿してください。問題を再現する最小のスクリプトの内容は何ですか? –

+0

私は今エントリを更新しました。 –

答えて

0

新しいアクションの[プログラム/スクリプト]フィールドに次の文字をTask Schedulerに貼り付けます。引数についてのポップアップが表示されます。この場合はYesをクリックします。

PowerShell.exe "& 'C:\DataProcessing\Scripts\MoveDailyOpra.ps1'" -ExecutionPolicy Unrestricted -NonInteractive -NoProfile 

これは、たpowershell.exeが、その後順番に&演算子を使用してスクリプトを呼び出し、その文字列を、exicutingさ、たpowershell.exeにコマンド文字列を渡しています。コールオペレータとして知られています。コールチェーンはTask scheduler >>PowerShell.exe >>あなたのscript.ps1です。

& Call operator - コマンド、スクリプト、またはスクリプトブロックを実行します。 「呼び出し演算子」とも呼ばれる呼び出し演算子を使用すると、 変数に格納され、文字列で表されるコマンドを実行できます。呼び出しオペレーターは コマンドを解析しないため、コマンドパラメーターを解釈できません。

それでも解決しない場合は、スクリプトのパスが正しいこと、およびタスクを実行しているアカウントにスクリプトにアクセスするための適切な権限があることを確認してください。

+0

優れています。それはうまくいった!唯一のことは、なぜ私は理解できないのですか? ps1ジョブを引用符で追加する必要があるのはなぜですか? –

+0

@ColinLarcombe説明に私の答えを更新しました。これがあなたの質問に答えるなら、答えを受け入れてください。 – Richard

関連する問題