分类
电脑技巧

windows2008打印服务器启用打印日志

打印服务器系统打印日志审计问题。目前公司有以下需求,向您咨询下能否实现。

公司有一台2008R2的服务器作为打印服务器,Windows7客户端通过UNC方式安装打印机。想实现在每次客户端打印文档成功和失败时都能够记录到系统的日志里面。请问这样是否可以实现,如果系统本身不可以实现,是否有一些workaround的方法可以实现。谢谢!

回答:根据您的描述,我的理解是您想知道是否能把客户端打印文档的事件记录到系统日志里。

基于我的经验,Windows 2008 R2 是可以在系统日志里面记录打印任务日志的,不过默认设置下记录打印任务的日志是没有开启的,我们需要手动开启打印任务日志:

打开事件管理器,在下面路径下开启打印任务日志:

Event Viewer -> Applications and Service Logs -> Microsoft -> Windows -> Print Service -> Operational -> Enable log

开启后,系统日志会记录每个打印任务,请您测试确定是否可以解决您的问题。

对于您的问题,请参考下面我的回答:

从Windows7客户端发送打印任务后,每次打印的时候生成下面的日志(信息),不理解打印处理器返回了错误代码0X0的含义,是不是代表打印成功(因为打印作业是成功的):
答:基于我的经验,当我们开启了这个Printer serviec事件,并使用了对某些驱动使用了隔离打印模式后,事件842就会产生,为了避免产生疑惑,我们完全可以忽略这个事件。
从Windows7客户端发送打印任务,在打印完成后,会生成一个错误信息,如下图所示。SHD文件是不是打印文档时临时的解码文件?去此目录下查看时,此文件是已经被删除的。不像日志中描述的是未删除。但是从打印服务器上直接发送打印任务则没有这个报错。
答:是的,SHD文件确实是打印过程中产生的临时文件,当处理一个打印任务时,spooler文件夹下会产生3种格式的临时文件,SHD就是其中之一,打印完成后这些临时文件是会被删除的,如果由于某种原因临时文件没有被删除,一般我们都是手动的删除这些临时文件。
在打印服务器上设置打印机的驱动的时候可以设置驱动隔离模式,如下图所示。关于打印驱动隔离的问题想确认下面几个问题:
—是否所有安装到2008R2上的打印驱动都可以设置驱动隔离模式?
—对于驱动隔离模式的已共享是否代表所有设置为共享的打印驱动都共享一个打印沙盒,如果此打印沙盒中的任一驱动故障,就会导致沙盒中的其它驱动无法使用?(对于驱动已隔离的含义应该理解为每个驱动都会启动一个沙盒,相互之间完全不影响)
—启用驱动隔离模式后,除了在打印时会增加一个进程占用一些内存外,是否还会对整体打印造成其他影响?
答:
—-应该都可以,除非有某些打印机驱动不兼容。
—-简单讲,我们可以认为你的第二个理解是对的,每个隔离驱动都会启动一个沙盒,他们之间不会产生影响,也不会对后台打印任务程序产生影响,可以避免由于某个打印驱动损坏导致其他打印任务不能继续。
—-使用隔离模式后,打印机驱动会被加载到一个隔离的PrintIsolationHost.exe 进程,并且会新产生一个PrintIsolationProxy.dl在打印进程之间代理调用特定打印机。这种机制本身不会占用太大的系统资源,对于一般服务器的性能来说,不会产生什么影响。