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
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