Hét vraag- en antwoordplatform van Nederland

Wat is het VBS script waarmee ik al mijn netwerk printers kan verwijderen behalve 1?

Tot nu toe heb ik dit. Het werkt wel, maar verwijdert elke netwerk printer en ik wil een uitzondering maken voor 1 printer. Waar moet ik in dit script iets aanpassen om dat voor elkaar te krijgen? Achter 'Loop to delete each network printer???

' **** START: Delete all network printers ****
strComputer = "."
' Make reference anf query for network printers
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery ("Select * from Win32_Printer Where Network = TRUE")
' Loop to delete each network printer
For Each objPrinter in colInstalledPrinters

strPrinterName = objPrinter.name
Select Case strAfdeling
case "G"
objPrinter.Delete_
case "T"
objPrinter.Delete_
case "VG"
objPrinter.Delete_
case "VT"
objPrinter.Delete_
end select

Next
' Clean up
Set colInstalledPrinters = Nothing
Set objWMIService = Nothing
' **** END: Delete all network printers ****

Verwijderde gebruiker
11 jaar geleden

Heb je meer informatie nodig om de vraag te beantwoorden? Reageer dan hier.

Geef jouw antwoord

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

/
Geef Antwoord
+
Selected image

Het beste antwoord

’ **** START: Delete all network printers ****
strComputer = "."
’ Make reference anf query for network printers
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery ("Select * from Win32_Printer Where Network = TRUE")
’ Loop to delete each network printer
For Each objPrinter in colInstalledPrinters

strPrinterName = objPrinter.name
If strPrinterName <> "Deze wil ik houden" Then
Select Case strAfdeling
case "G"
objPrinter.Delete_
case "T"
objPrinter.Delete_
case "VG"
objPrinter.Delete_
case "VT"
objPrinter.Delete_
end select
End If
Next
’ Clean up
Set colInstalledPrinters = Nothing
Set objWMIService = Nothing
’ **** END: Delete all network printers ****
(Lees meer...)
bamibal
11 jaar geleden
Verwijderde gebruiker
11 jaar geleden
Het werkt niet. Wat doe ik fout?
Ik heb nu:

' **** START: Delete all network printers ****
strComputer = "."
' Make reference anf query for network printers
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery ("Select * from Win32_Printer Where Network = TRUE")
' Loop to delete each network printer
For Each objPrinter in colInstalledPrinters strPrinterName = objPrinter.name
If strPrinterName <> "myPrintHASHogeschool" Then
Select Case strAfdeling
case "G"
objPrinter.Delete_
case "T"
objPrinter.Delete_
case "VG"
objPrinter.Delete_
case "VT"
objPrinter.Delete_
end select
End If Next
' Clean up
Set colInstalledPrinters = Nothing
Set objWMIService = Nothing
' **** END: Delete all network printers ****
Cryofiel
11 jaar geleden
Andere optie: verwijder eerst ALLE netwerkprinters. Voeg na afloop de printer die je had willen houden weer toe.
Verwijderde gebruiker
11 jaar geleden
Nee dat kan niet, want dan doet de printer het niet, HIj maakt gebruik van een internetpoort en heeft speciale installatie eisen. In het script moet komen te staan dat al de netwerk printers worden verwijderd behalve 1.
Verwijderde gebruiker
11 jaar geleden
Bamibal, Wat doe ik fout, Help me please?
bamibal
11 jaar geleden
Wat gebeurt er nu? Krijg je een foutmelding?
Deel jouw antwoord

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

/
Geef Antwoord
+
Selected image