我一直试图设置一个简单的端点服务,它位于服务器上,接受Web请求,然后将作业打印到特定服务器上的特定打印队列一个用户,其凭据被传递到服务中。这是用于自动化测试,因此我们正在使用的用户具有有限的权限,因此安全性不是问题。从网络服务器列出打印队列时出错,模拟用户
当我尝试这个代码不带模拟:
PrintServer ps = new PrintServer(@"\\" + serverName, PrintSystemDesiredAccess.EnumerateServer);
response = "Created PrintServer object";
foreach (PrintQueue pq in ps.GetPrintQueues())
{
response = response + "[email protected]~" + pq.Name;
}
它可以正常工作,给我的打印机的远程服务器上的目录,例如:
创建打印服务器对象〜@〜SC-4拉端口〜@〜微软XPS文档写入
当我与模拟尝试,我得到这个:
System.Printing.PrintServerException:创建打印服务器对象时发生异常。 Win32错误:打印机名称无效。
在System.Printing.PrintServer.Initialize(字符串路径,字符串[] propertiesFilter,PrinterDefaults printerDefaults)
在System.Printing.PrintServer..ctor(字符串路径,PrintSystemDesiredAccess desiredAccess)
在PrintService.PrintService.ImpersonatedInstalledPrinterList(字符串服务器名,字符串用户名,字符串用户密码,字符串域)
我一直无法弄清楚,或在网上找到,为什么它会抛出上述错误。我正在使用一个有效的域帐户,甚至给我正在使用的用户测试服务器上的打印队列的完整权限。当我尝试以模拟用户的身份进行打印时遇到同样的错误,而在未执行模拟操作时没有发送打印作业的问题。
感谢您可以提供任何帮助,
月之