由于Windows Server 2003的支持即将于7月14日结束,因此我们将所有计划任务都移至Windows 2008 R2服务器。
我们使用Microsoft(MS)Access 2003(mdb)数据库来处理各种后端进程,这些后端进程可以补充用户和客户与我们系统的交互。
MS Access中的后端进程之一,这个问题的原因是拒绝打印,当用户没有login。
后端进程填充临时表,稍后用于填充应该打印的报表。 此报告具有embedded式查询,链接图像和保存的默认打印机。
执行计划任务的用户是域用户。
会话0隔离 – 访问有一个非常小的打印窗口,显示你在N的页面X上。这个窗口不能与之交互。 我觉得这可能是罪魁祸首,但我们所尝试过的一切都没有阻止它。
我们保持域用户login。
如果打印到会话打印机,则可能会发生此问题。
HKEY_Current_User \ Printers \ Connections(会话打印机)
VS
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Print \ Printers(本地打印机)
通过networking共享安装的任何打印机都属于该类别。 请使用安装有本地tcp / ip队列的打印机再次尝试,该打印机将在系统范围内可用。
埃利亚斯看了看预定的任务,并选中“运行用户是否login”框。 你的问题听起来像没有被检查,所以当任务试图运行它不能。
这听起来像是在进程运行时没有检测到打印机本身。 你有没有尝试添加一些debugging代码输出到一个文件,看看它被赶上了哪里? 我发现挂在VBA中的进程在事件查看器中不会生成很多信息,并且通常需要在代码中捕获更多的错误。
我已经看到了会话0隔离问题,并有解决方法,但我遇到的所有例子都与Excel有关。
以下是对Session 0影响的解释。
https://msdn.microsoft.com/en-us/library/windows/hardware/dn653293%28v=vs.85%29.aspx
如果将UAC设置为最低设置,这是否改善了情况? 要做到这一点,点击开始,然后运行键入msconfig进入运行框/提示,然后单击确定单击工具选项卡单击“更改UAC设置”,然后单击启动拖动滑块到底部确定窗口并重新启动服务器
当您迁移任务时,您是否重新创build任务? 在2003和2008之间迁移任务的一个好方法是在2008年打开任务调度程序,连接到2003服务器,然后导出任务。 然后,您可以将任务计划程序指回到2008服务器并导入任务。 如果任务正在以0x0的结果运行,我会说这个问题在计划任务本身之外。
您能否确认打印机在打印testing页时打印? 如果还没有,则可以比较旧服务器和新服务器上打印机的设置。