Printing 如果可能,我需要一个vbscript或一个将tcp/ip打印机颜色选项更改为黑色的批处理(.bat)文件;白色

Printing 如果可能,我需要一个vbscript或一个将tcp/ip打印机颜色选项更改为黑色的批处理(.bat)文件;白色,printing,batch-file,vbscript,colors,settings,Printing,Batch File,Vbscript,Colors,Settings,首先,我对脚本世界还不熟悉。我编写了一个VBScript,将TCP/IP打印机(在网络中)添加到计算机。到目前为止,我还设法将打印机更改为使用批处理文件执行双面打印。现在我需要一些方法来更改打印机颜色设置,以黑白打印 如果你能帮助我,我将不胜感激, 提前谢谢 将tcp/ip打印机添加到计算机的代码: strComputer = "." Dim objWMI:Set objWMI = GetObject("winmgmts://" & strComputer & "\root\c

首先,我对脚本世界还不熟悉。我编写了一个VBScript,将TCP/IP打印机(在网络中)添加到计算机。到目前为止,我还设法将打印机更改为使用批处理文件执行双面打印。现在我需要一些方法来更改打印机颜色设置,以黑白打印

如果你能帮助我,我将不胜感激, 提前谢谢

将tcp/ip打印机添加到计算机的代码:

 strComputer = "."
Dim objWMI:Set objWMI = GetObject("winmgmts://" & strComputer & "\root\cimv2") 
Set colItems = objWMI.ExecQuery("Select * from Win32_OperatingSystem", , 48)

Set objWMIService = GetObject("winmgmts:" _   
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")       
    objWMIService.Security_.Privileges.AddAsString "SeLoadDriverPrivilege", True


Install "167.221.10.249" ''printer IP to be added

sub Install(strIP) 
    InstallPrinterPort strIP
end Sub

strBasePrinter = "PRINTERNAME"
strPrinterName = "Xerox WorkCentre 7120 PCL6" '' Printer controller
strINFPath = "\\167.221.1.67\printer_7120\x2GCHAX.inf" ''path to .inf file

strIPPort = "IP_" & "167.221.10.249"
Set objShell = CreateObject("WScript.Shell")
strCommand = "cmd /c rundll32 printui.dll,PrintUIEntry /if /b """ & strBasePrinter &    """ /f " & strINFPath & " /r """ & strIPPort & """ /m """ & strPrinterName & """ & /Z"
objShell.Run strCommand, 1, True

Sub InstallPrinterPort(strIP)

Set colInstalledPorts =  objWMIService.ExecQuery _        
    ("Select Name from Win32_TCPIPPrinterPort")

For each objPort in colInstalledPorts
    If objPort.Name="IP_" & strIP then exit sub     
Next

Set objNewPort = objWMIService.Get _
    ("Win32_TCPIPPrinterPort").SpawnInstance_
        objNewPort.Name = "IP_" & strIP
        objNewPort.Protocol = 1
        objNewPort.HostAddress = strIP
        objNewPort.PortNumber = "9100"
        objNewPort.SNMPEnabled = True
        objNewPort.Put_ 
end Sub

在我的研究中,我发现了这个。我相信它会将打印机设置为默认颜色

Option Explicit
Dim objPrinter
Set objPrinter = CreateObject("WScript.Network")
objPrinter.SetDefaultPrinter "\\ServerName\PrinterName"
' End of example VBScript 

如果您共享双面打印的批处理文件,我们可以从那里开始…批处理文件将特定打印机更改为双面打印模式:setprinter PRINTERNAME 2“pdevmode=dmDuplex=2,dmCollate=1,dmFields=| duplex collate”我使用“Win32_TCPIPPrinterPort”添加tcp/ip打印机。此帮助信息:为什么要使用脚本执行此操作?您可以在服务器上设置打印机默认值,当用户连接到服务器进行打印时,他们会获得这些默认值。该代码将打印机设置为默认值,并且不会更改其设置