我被要求将打印机添加到终端服务器上的所有用户。终端服务器和安装打印机的网络之间有 VPN 连接。
我对网络共享没有太多经验,但我设法手动连接到打印机。(win+r > \192.168.xx.xx)。输入我的凭据(域:ADAM.local)后,我在资源管理器中看到了共享,包括几台打印机。双击打印机将其添加到“打印机和设备”中,我可以在尝试打印文档时将其选为打印机。
我希望能够使用“net use”编写一个脚本,以便在启动时将用户连接到打印机。
我尝试使用net use * \\192.168.xx.xx <password> /user:ADAM.local\printACC /persistent:yes
连接到网络共享。结果出现错误:System error 67 has occurred. The network name cannot be found.
有人能帮我了解 net use 命令的语法和参数吗?
答案1
终端服务器将其所连接的桌面上的默认客户端打印机映射/设置为用户会话中的默认打印机。
为了实现这一点,你需要确保在终端服务器上仅安装了打印机驱动程序。安装 32 位和 64 位版本。无需映射。
确保终端服务器设置允许打印机映射。保持复选框未选中。
打印从终端服务器通过rdp协议通过客户端到达打印机。
另一个选项是在服务器上以管理员身份安装所有打印机。它们将可供所有用户使用。但我不建议这样做。我认为最好始终将用户重定向到他的默认打印机。
答案2
您的etc 命令缺少队列名称 - 您只有服务器 IP。如果需要,net use * \\192.168.xx.xx
应该加上您拥有的其他选项。net use * \\192.168.xx.xx\queue
答案3
您无法使用该net use
命令。
不过,你还是有几个选择的。如果你有 2008 域名,你可以使用使用组策略部署打印机。
如果您没有 2008 打印服务器,则需要使用登录脚本。将以下行添加到您的登录脚本:
cscript \\domain.local\NETLOGON\Printer.vbs //B
之后,添加一个文件,将其命名为 Printer.vbs,并在其中输入以下内容。
Option Explicit
Dim objNetwork, strPrinter1,strPrinter2,strPrinter3
strPrinter1 = "\\servername\printerx"
strPrinter2 = "\\servername\printery"
strPrinter3 = "\\servername\printerz"
Set objNetwork = CreateObject("WScript.Network")
objNetwork.AddWindowsPrinterConnection strPrinter1
objNetwork.AddWindowsPrinterConnection strPrinter2
objNetwork.AddWindowsPrinterConnection strPrinter3
WScript.Quit
答案4
我认为当我尝试使用 net use 命令时,我使用 LPT2 或 LPT3 作为目标端口,而不是 *。我曾经可以成功使用 net use 命令,但我没有使用任何用户名和密码。例如:NET USE LPT2: \\SERVER\CANONIP /persistent:yes
它运行得很好。我认为您的代码已经正确了。还有另一个问题。很抱歉没有提供太多帮助。