【问题标题】:Printers not available unless shared打印机不可用,除非共享
【发布时间】:2010-09-06 02:21:03
【问题描述】:

我们使用经典的 asp 来调用 C# dll,在 C# dll 中我们使用 System.Drawing.Printing.PrinterSettings.InstalledPrinters 来获取可用打印机的列表。如果打印机未共享,则在用户尝试打印时它们不会显示。本地系统帐户可以从 VB6 dll 中查看和打印,管理员可以从 C# dll 中正常打印,如您所料。我们是否需要授予用户某种权限才能使这些打印机可用?

【问题讨论】:

  • 我不确定你到底是什么意思。也许管理员可以这样做,因为他自己已登录,或者因为特定用户可以看到的打印机作为条目存储在注册表中。

标签: c# asp.net printing windows-server-2003


【解决方案1】:

我相当肯定,冒充用户或使用他们的凭据并不构成查看该用户的打印机的能力。我相信 explorer.exe 会在登录时重新连接所有网络资源(共享/打印机)。

【讨论】:

  • 如果explorer.exe运行时才连接,为什么没有用户登录时管理员可以访问打印机?
【解决方案2】:

我记得,运行网站使用网络用户帐户,该帐户可能无权查看本地打印机。

MSDN 上有一个页面说明了如何冒充另一个可能有权访问打印机的用户,但我一直找不到。

编辑:我发布得太早了。 Here's the page.

HTH

【讨论】:

  • 我很确定它正在使用用户的凭据运行。在 SQL Profiler 中,我的查询使用用户的凭据。授予网络服务帐户访问打印机的权限并不能解决问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多