0

PowerShell プロンプトとコマンド プロンプトから以下のコマンドを実行できますが、Windows スケジューラを使用してスケジュールすることはできません。

PowerShell スクリプト コード:

appcert.exe test -apptype metrostyle -packagefullname abc_somename -reportoutputpath C:\result.xml

appcert.exeは、Windows 8 アプリケーションで認定テストを実行するために Microsoft が提供する exe です。私は次のことをしました:

  1. コードでファイルABC.ps1を作成しています:

    appcert.exe test -apptype metrostyle -packagefullname abc_somename -reportoutputpath C:\result.xml
    
  2. PQR.bat次のコードでバッチ ファイルを作成します。

    powershell -command "& 'PathOfABC\ABC.ps1' "
    
  3. Windowsスケジューラを使用してスケジュールしています。

[アクション] タブでタスクを作成するときに、次の詳細を選択します。

  • アクション: プログラムを開始します。

  • プログラム/スクリプト: バッチ ファイルへのパス

  • 開始: バッチ ファイルを含むフォルダーのパス

そして、15分ごとに実行するようにスケジュールします。result.xmlタスクは完了しましたが、C ドライブに何も表示されません。このバッチ ファイルを 15 分ごとに実行するようにスケジュールする方法を教えてください。

4

1 に答える 1

0

powershell -File "C:\path\to\ABC.ps1"PowerShell スクリプトの実行に使用します。または、appcert.exeコマンドをバッチ スクリプトに直接入れます。バッチ スクリプトを実行して PowerShell スクリプトを実行し、実行可能ファイルを実行しても意味がありません。

スクリプトを手動で実行すると、次のようにappcert.exe作成されると仮定します。C:\result.xml

  • 実行ポリシーを少なくとも に設定していますRemoteSignedか?
  • タスクを実行しているユーザーにLog on as batch job権限がありますか?
  • スケジュールされたタスクは最高の特権で実行するように構成されていますか (UAC が有効であると仮定)?

たとえば、スクリプトにデバッグコードを追加しようとしましたか

appcert.exe test ... >"%USERPROFILE%\appcert.log" 2>&1
exit /b %errorlevel%

appcert.logタスクを実行しようとすると作成されますか? それは何と言っていますか?

于 2013-04-22T23:38:41.093 に答える