Printers verwijderen vbs

Status
Niet open voor verdere reacties.

Merkie18

Gebruiker
Lid geworden
1 jan 2007
Berichten
134
Halloa allemaal,

Ik heb een vraag met betrekking tot onderstaand script. Dit script zorgt ervoor dat printers verwijderd worden, vervolgens wordt de prinspooler herstart en daarna zullen de printdrivers worden verwijderd. Het laatste werkt bij Windows XP wel maar bij 2000 NIET. Wat moet ik in onderstaand script aanpassen om het ook op Windows 2000 te laten werken?? Waarom overal "\\server\printer" staat is i.v.m. de privacy...

Alvast bedankt!

Merkie18

Code:
Dim WSHNetwork
Dim WSHPrinters

Set WSHNetwork = CreateObject("WScript.NetWork") 
Set WSHPrinters = WSHNetwork.EnumPrinterConnections

PrinterPath1 = "\\server\printer"
PrinterPath2 = "\\server\printer"
PrinterPath3 = "\\server\printer"
PrinterPath4 = "\\server\printer"
PrinterPath5 = "\\server\printer"
PrinterPath6 = "\\server\printer"
PrinterPath7 = "\\server\printer"
PrinterPath8 = "\\server\printer"
PrinterPath9 = "\\server\printer"
PrinterPath10 = "\\server\printer"
PrinterPath11 ="\\server\printer"

X1 = False
X2 = False
X3 = False
X4 = False
X5 = False
X6 = False
X7 = False
X8 = False
X9 = False
X10 = False
X11 = False

'Check if a specific printer exists already  Returns -1 if printer exists, 0 if printer not present
For LOOP_COUNTER = 0 To WSHPrinters.Count - 1 Step 2

    If WSHPrinters.Item(LOOP_COUNTER +1) = Printerpath1 Then
      X1 = True
	elseif WSHPrinters.Item(LOOP_COUNTER +1) = Printerpath2 Then
      X2 = True
	elseif WSHPrinters.Item(LOOP_COUNTER +1) = Printerpath3 Then
      X3 = True
	elseif WSHPrinters.Item(LOOP_COUNTER +1) = Printerpath4 Then
      X4 = True
	elseif WSHPrinters.Item(LOOP_COUNTER +1) = Printerpath5 Then
      X5 = True
	elseif WSHPrinters.Item(LOOP_COUNTER +1) = Printerpath6 Then
      X6 = True
	elseif WSHPrinters.Item(LOOP_COUNTER +1) = Printerpath7 Then
      X7 = True
	elseif WSHPrinters.Item(LOOP_COUNTER +1) = Printerpath8 Then
      X8 = True
	elseif WSHPrinters.Item(LOOP_COUNTER +1) = Printerpath9 Then
      X9 = True
	elseif WSHPrinters.Item(LOOP_COUNTER +1) = Printerpath10 Then
      X10 = True
	elseif WSHPrinters.Item(LOOP_COUNTER +1) = Printerpath11 Then
      X11 = True	  
    End If

Next

'Hier worden de printerconnecties verwijdert
If X1 = True Then
	WSHNetwork.RemovePrinterConnection "\\server\printer"
end if

If X2 = True Then
	WSHNetwork.RemovePrinterConnection "\\server\printer"
end if

If X3 = True Then
	WSHNetwork.RemovePrinterConnection "\\server\printer"
end if

If X4 = True Then
	WSHNetwork.RemovePrinterConnection "\\server\printer"
end if

If X5 = True Then
	WSHNetwork.RemovePrinterConnection "\\server\printer"
end if
	
If X6 = True Then
	WSHNetwork.RemovePrinterConnection "\\server\printer"
end if
	
If X7 = True Then
	WSHNetwork.RemovePrinterConnection"\\server\printer"
end if
	
If X8 = True Then
	WSHNetwork.RemovePrinterConnection "\\server\printer"
end if
	
If X9 = True Then
	WSHNetwork.RemovePrinterConnection "\\server\printer"
end if
	
If X10 = True Then
	WSHNetwork.RemovePrinterConnection "\\server\printer"
end if
	
If X11 = True Then
	WSHNetwork.RemovePrinterConnection "\\server\printer"
end if



'This code will stop/start the print spooler service
'---SCRIPT CONFIGURATION ---
strComputer = "." 'locale computer
'---END CONFIGURATION---
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colServiceList = objWMIService.ExecQuery _
        ("Select * from Win32_Service where Name='Spooler'")
For each objService in colServiceList
     errReturn = objService.StopService()
Next

WScript.Sleep 3000

For each objService in colServiceList
     errReturn = objService.StartService()
Next
 
WScript.Sleep 3000


'Hier worden de printerdrivers verwijdert
set objShell = Wscript.CreateObject("Wscript.Shell")
objShell.Run ("RUNDLL32 PRINTUI.DLL,PrintUIEntry /dd /q /m " & Chr(34) & "RICOH Aficio CL3100 RPCS" & chr(34)),,True
objShell.Run ("RUNDLL32 PRINTUI.DLL,PrintUIEntry /dd /q /m " & Chr(34) & "RICOH Aficio 2022 RPCS" & chr(34)),,True
objShell.Run ("RUNDLL32 PRINTUI.DLL,PrintUIEntry /dd /q /m " & Chr(34) & "RICOH Aficio 2045e RPCS" & chr(34)),,True
objShell.Run ("RUNDLL32 PRINTUI.DLL,PrintUIEntry /dd /q /m " & Chr(34) & "HP LaserJet 3390 Series PCL 5e" & chr(34)),,True
objShell.Run ("RUNDLL32 PRINTUI.DLL,PrintUIEntry /dd /q /m " & Chr(34) & "HP Officejet 9100 series PCL 6" & chr(34)),,True
objShell.Run ("RUNDLL32 PRINTUI.DLL,PrintUIEntry /dd /q /m " & Chr(34) & "HP LaserJet P3005 PCL 6" & chr(34)),,True
objShell.Run ("RUNDLL32 PRINTUI.DLL,PrintUIEntry /dd /q /m " & Chr(34) & "HP LaserJet 8100 Series PCL 6" & chr(34)),,True

wscript.echo "drivers verwijdert"

'Hier wordt het geheugen vrijgegeven
Set WSHNetwork = Nothing
Set WSHPrinters = Nothing
Set objWMIService = Nothing
Set colServiceList = Nothing
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan