使用 PrintServer 时传递凭据

Passing credentials when using PrintServer

我正在使用打印服务器:

PrintServer myPrintServer = new PrintServer(@"\printsrv");

但我遇到异常:

An exception occurred while creating the PrintServer object. Win32 error: The user name or password is incorrect.

如何传递用户名和密码?

您需要为该服务器缓存网络凭据。我认为最简单的方法是从代码启动 net use 命令:

var p = new Process();
p.StartInfo.FileName = "net";
p.StartInfo.Arguments = "use \printsrv password /user:domain\username";
p.StartInfo.CreateNoWindow = true;
p.Start();
p.WaitForExit();

之后 PrintServer class 应该可以连接了。您也可以尝试这些 answers 来获取预先缓存的凭据。