2015-10-16 119 views
-1

我知道这已被问了1000次,我想我通过所有这些。计划任务和PowerShell脚本不被执行

我已经安排了在其他服务器上运行PowerShell脚本的任务,但没有在此服务器上运行。哪个让我挠头,为什么我不能在这台服务器上运行它。

我在Windows 2008 R2服务器上有一个powershell脚本。我可以手动运行它,它可以完美运行,但是当我尝试从计划任务运行它时,历史记录显示它已运行,但PowerShell脚本未执行。

PSRemoting启用

服务器ExecutionPolicy是 “RemoteSigned就是”

我得到的历史

  1. 行动已完成 任务计划顺利完成任务的两个条目 “\处理”,例如“{dbbd4924-42d6-4024-a8ed-77494c7f84cf}”,动作“C:\ Windows \ System32 \ WindowsPowerShell \ v1.0 \ PowerShell.EXE”,返回码为0。

  2. 任务合计 任务计划程序成功完成用户“domain \ user”的“\ Processing”任务的“{dbbd4924-42d6-4024-a8ed-77494c7f84cf}”实例。

计划任务看起来是这样的:

  1. 我设置为我的帐户下运行,而我登录。 (因为我可以像我一样手动运行该脚本)
  2. 检查以最高特权运行。
  3. 触发就是每10分钟
  4. 启动一个程序操作运行.... Powershell.exe
  5. 参数:-ExecutionPolicy下RemoteSigned - 文件d:\ ABC \ DEF \ PowerShell的\ Processing.ps1
  6. 条件&设置默认设置。
+0

那么失败的是什么?任务计划程序报告成功,这意味着'powershell.exe'运行成功。我猜这意味着你没有从你的脚本中获得想要的结果。如果是这种情况,请发布脚本的内容。 – briantist

+0

如果我在计划任务外运行powershell脚本,它会正确运行并显示所需的结果。 –

+0

是的,但是*我们*不知道你想要的结果是什么,而且我们也不知道脚本的功能。考虑到行为,仅任务参数是不够的。作为任务运行时,您可以执行的某些操作的行为会有所不同。不知道你在做什么,我们无能为力。发布代码。 – briantist

回答

0

确保你不会被阻止权限问题与任务: http://blogs.technet.com/b/askperf/archive/2012/04/18/task-scheduler-error-a-specified-logon-session-does-not-exist.aspx

以上GPO防止被保存的凭据。其他用户权限分配设置可以防止以批处理/脚本/任务/等的方式运行。

作为解决方法,您还可以将任务设置为使用powershell任务运行.bat文件。添加回显或管道参数可能会为您提供有关此问题的一些线索。

0

我建议您应该在脚本中添加一些诊断日志记录来找出导致此问题的地方或将此脚本的输出重定向到文件。例如。改变你的字符串参数是这样的:

-executionpolicy remotesigned -File D:\abc\def\powershell\Processing.ps1 2>&1 d:\output.log

貌似脚本执行,但不顺心的事。这种行为的原因太多,没有代码就很难找到根本原因。

相关问题