我一直在构建一个程序来轻松配置新镜像的计算机(设置DNS服务器,IP地址,网关,添加到AD,添加可选打印机等)。我曾在PowerShell中使用它,但我一直在尝试将其移植到C#,主要是将许多小脚本合并到一个脚本中,添加漂亮的用户界面,并作为实践来提高C#的水平。到目前为止进展顺利,但是添加打印机时遇到了一些麻烦。
这是我用来配置网络打印机的PowerShell脚本:
Add-PrinterPort -name ESDPRT500 -PrinterHostAddress $ReceiptPrinterIP
Set-Printer -Name "EPSON TM-T88IV Receipt" -PortName ESDPRT500
我一直在查看以下C#代码,但它似乎只能通过TCP / IP端口设置打印机,而我认为我的端口位于“ EPSON Port Handler”下?
ManagementClass portClass = new ManagementClass("Win32_TCPIPPrinterPort");
ManagementObject portObject = portClass.CreateInstance();
portObject["Name"] = portName;
portObject["HostAddress"] = "174.30.164.15";
portObject["PortNumber"] = portNumber;
portObject["Protocol"] = 1;
portObject["SNMPCommunity"] = "public";
portObject["SNMPEnabled"] = true;
portObject["SNMPDevIndex"] = 1;
PutOptions options = new PutOptions();
options.Type = PutType.UpdateOrCreate;
portObject.Put(options);
鉴于我的打印机配置方式,有人可以向我指出正确的方向吗?我找到了用于通过TCP / IP端口号安装驱动程序和添加打印机的示例,但是运气还不算太好。谢谢!