0

まず第一に、私はスクリプトの世界に不慣れです。TCP/IP プリンター (ネットワーク内) をコンピューターに追加する VBScript を実行しました。これまでのところ、バッチファイルで両面印刷を実行するようにプリンターを変更することもできました。ここで、プリンタのカラー設定を白黒で印刷するように変更する必要があります。

よろしくお願いします。よろしくお願いします。

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
4

1 に答える 1