0

我能够从 PowerShell 提示符和命令提示符执行以下命令,但我无法使用 Windows 调度程序对其进行调度。

powershell脚本代码:

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

appcert.exe是 Microsoft 提供的用于在我的 Windows 8 应用程序上执行认证测试的 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 回答