Avatar billede ZirexDK Nybegynder
09. januar 2013 - 12:04 Der er 2 kommentarer

Fejl på printer installation Windows XP fra USB

Hej Eksperter.

Har nedenstående kode, hvilket skal benyttes til installation af en printer fra usbpind. Hvor den opretter TCP/IP Porte og installation af driver. AUTOMATISK!!

Men fejler under installation med Arguments invalid.

Nogen der kan se fejlen..

Samt kan man ændre nedstående så drevbogstavet ingen indflydelse
har?

Koden er lånt på nettet og modificeret.

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

Install "10.120.28.130"


sub Install(strIP)
    InstallPrinterPort strIP
end Sub


strBasePrinter = "Printer P3015"
strPrinterName = "HP Laserjet P3015 PCL 6"
strINFPath = "T:\Scripts\p3015\hpc3010c.inf"
strIPPort = "IP_10.120.28.228"
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 = False
    objNewPort.Put_
end Sub
Avatar billede Mads Larsen Nybegynder
09. januar 2013 - 14:46 #1
Fejl kan jeg ikke lige hjælpe med.

Men det med drevbogstav, kan måske klares med

System.AppDomain.CurrentDomain.BaseDirectory
Avatar billede RogerWilco Seniormester
09. januar 2013 - 18:50 #2
Hvad laver det sidste &-tegn i linjen med rundll32?
Hvorfor er der to forskellige IP-adresser?
Er T-drevet USB-pinden eller et netværksdrev?

Prøv dette:

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

strBasePrinter = "Printer P3015"
strPrinterName = "HP Laserjet P3015 PCL 6"
strINFPath = "T:\Scripts\p3015\hpc3010c.inf"
strIPPort = "IP_10.120.28.228"

InstallPrinterPort strIPPort
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
WScript.Quit

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 = False
    objNewPort.Put_
end Sub
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester