Windows 7本地系统和本地服务之间的服务差异

时间:2010-07-21 13:38:37

标签: windows-7 service acl rights rights-management

我有一个相当复杂的工具链,所以准备一个冗长的帖子,直到遇到问题:

我设法在Windows 7下以服务器模式作为服务运行PDFCreator和虚拟PDF创建打印机。该过程的下一步是PDFCreator在创建PDF后调用VBScript。脚本通过WebService将PDF上载到我们的服务器,并轮询服务器以获得生成的PDF。下载生成的PDF后,VBScript需要将其打印到配置的打印机。

现在打印我正在使用PDFCreator的集成COM对象,它可以访问GhostScript。对于启动PDFCreator服务的任何帐户,这都完美适用于Windows XP。例如,作为域用户可以从VBScript访问共享打印机,因为用户上下文与PDFCreator服务相同。

现在我尝试了同样的Windows 7,并像以前一样使用“本地系统”帐户,因为我的测试打印机是本地的(并且可以工作,即TestPage)。效果是wscript停留在任务管理器中并且永远不会完成。接下来,我激活了服务的交互模式和一个要求打印机打印的锯Ghostscript。在我在VBScript中调用GS之前检查打印机确实存在,但出于任何原因,GhostScript没有看到打印机,尽管在打开的对话框中选择打印机,打印机就在那里。

经过几天的搜索并且甚至没有成功地尝试使用专用的新管理员帐户而没有成功,我终于找到了一种方法来使其正常工作。将PDFCreator服务的用户更改为“区域设置服务”我首先收到一条错误,即PDFCreator COM对象创建失败。好吧,我认为这是有道理的,因为“语言环境服务”对“语言环境系统”的权利较少。我通过更改comexp.msc下的访问权限并为本地和远程COM和脚本访问授予“区域设置服务”权限来解决此限制。 Voilá,一切正常。

我不明白:为什么Ghostscript在“语言环境服务”帐户下能够找到打印机,尽管该帐户的权限较少“语言环境系统”?

并且:我需要为“语言环境系统”或任何其他用户帐户设置哪种访问权限才能使其正常工作?

或者:这些帐户之间是否有详细的差异清单?

非常感谢和greetz, GHAD

1 个答案:

答案 0 :(得分:3)

答案可以在这里找到:KB184291

它是关于在“本地系统”帐户下运行的ASP / IIS并且无法打印,因为打印机在.DEFAULT用户下不可用。复制注册表项会有所帮助。

格尔茨, GHAD