首页 文章

计划任务和PowerShell脚本未执行

提问于
浏览
-1

我知道这已被问了1000次,我想我已经查看了所有这些内容 .

我已安排在其他服务器上运行PowerShell脚本的任务,但不在此服务器上 . 哪个让我摸不着头脑,为什么我不能让它在这台服务器上工作 .

我在Windows 2008 R2服务器上有一个powershell脚本 . 我可以手动运行它并且它完全正常工作,但是当我尝试从计划任务运行它时,历史记录表明它已运行,但PowerShell脚本不会执行 .

PSRemoting已启用

服务器ExecutionPolicy是“RemoteSigned”

我在历史中得到两个条目

  • 操作完成任务计划程序成功完成任务“\ Processing”,实例“”,操作“C:\ Windows \ System32 \ WindowsPowerShell \ v1.0 \ PowerShell.EXE”返回代码0 .

  • 任务complted任务计划程序成功完成了用户“domain \ user”的“\ Processing”任务的“”实例 .

计划任务如下所示:

  • 我登录时设置为在我的帐户下运行 . (因为我可以像我一样手动运行脚本)

  • 已选中以最高权限运行 .

  • 触发器每10分钟运行一次

  • 启动程序操作.... Powershell.exe

  • 参数:-executionpolicy remotesigned -File D:\ abc \ def \ powershell \ Processing.ps1

  • 条件和设置默认设置 .

2 回答

  • 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文件 . 添加echo或pipe参数可能会为您提供一些问题的线索 .

  • 0

    我建议您应该向此脚本添加一些诊断日志记录,以找出导致此问题的位置或将此脚本的输出重定向到文件 . 例如 . 用这种方式用参数改变你的字符串:

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

    看起来脚本已执行,但出了点问题 . 这种行为有太多原因,如果没有代码,很难找到根本原因 .

相关问题