我知道这已被问了1000次,我想我已经查看了所有这些内容。
我已安排在其他服务器上运行PowerShell脚本的任务,但不在此服务器上。哪个让我摸不着头脑,为什么我不能让它在这台服务器上工作。
我在Windows 2008 R2服务器上有一个powershell脚本。我可以手动运行它并且它完全正常工作,但是当我尝试从计划任务运行它时,历史记录表明它已运行,但PowerShell脚本不会执行。
启用PSRemoting
服务器ExecutionPolicy是“RemoteSigned”
我在历史记录
中有两个条目行动已完成 任务计划程序成功完成任务“\ Processing”,实例“{dbbd4924-42d6-4024-a8ed-77494c7f84cf}”,操作“C:\ Windows \ System32 \ WindowsPowerShell \ v1.0 \ PowerShell.EXE”,返回码为0. / p>
任务完成 任务计划程序成功完成了用户“domain \ user”的“{处理”任务的“{dbbd4924-42d6-4024-a8ed-77494c7f84cf}”实例。
计划任务如下所示:
答案 0 :(得分: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参数可能会为您提供一些问题的线索。
答案 1 :(得分:0)
我建议您在此脚本中添加一些诊断日志记录,以找出导致此问题的位置或将此脚本的输出重定向到文件。例如。用这种方式用参数改变你的字符串:
-executionpolicy remotesigned -File D:\abc\def\powershell\Processing.ps1 2>&1 d:\output.log
看起来脚本已执行,但出了点问题。这种行为有太多原因,如果没有代码,很难找到根本原因。