nilsvlehn

Drucker entfernen in VB-Script

Hallo ich habe eine kleine Frage bzgl. unseres Anmeldeskriptes.

Ich habe ein IT-netzwerk an einer Uni übernommen.
Ich arbeite zur Zeit daran, unsere alten Drucker, bzw. auch neuen Drucker auf einen anderen Print-Server um zu ziehen.

Die Anmeldung läuft bei uns über ein VB-Script, welches die Drucker zuteilt.
Dadurch, dass wir jetzt einen neuen Print-Server haben, müssten die alten Drucker auf den jeweiligen Clients bei der Anmeldung gelöscht werden.

Frage:

Ich habe einen Code-Schnippsel gefunden, der in unserem VB-Script schon drinsteht, aber nicht funktioniert.


' Loeschen der alten Drucker
'###########################
'Set oPrinters = WshNetwork.EnumPrinterConnections
'For i = 0 to oPrinters.Count - 1 Step 2
' if Left(oPrinters.Item(i+1),10) = "\\SrvApp01" Then
' 'WScript.Echo "i: "& i & " - Port " & wshNetwork.EnumPrinterConnections.Item(i) & " = " & wshNetwork.EnumPrinterConnections.Item(i+1)
'
' wshNetwork.RemovePrinterConnection oPrinters.Item(i+1)
' End If
' Next

Ich habe ihn schonmal aktiviert und ausprobiert, aber er funktioniert so nicht.

Daten des alten Print-Servers: SRVPRT01
Daten des neuen Print-Servers: IS-PRT-SRV

Leider gibt es auf den Clients halt immernoch die Karteileichen von dem alten Print-Server.

Könnt ihr mir sagen, wie das Script aussehen muss, damit mein Vorhaben gelingt?
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 352944

Url: https://administrator.de/forum/drucker-entfernen-in-vb-script-352944.html

Ausgedruckt am: 07.07.2025 um 16:07 Uhr

134464
134464 26.10.2017 um 12:39:43 Uhr
emeriks
emeriks 26.10.2017 um 13:18:45 Uhr
Hi,
Ich habe ihn schonmal aktiviert und ausprobiert, aber er funktioniert so nicht.
Das ist der altbekannte Fehler. Schon mal nach "funktioniert so nicht" bei Google gesucht?

Im Ernst: Kommt eine Fehlermeldung? (ggf. "On Error ..." rausnehmen)

' Loeschen der alten Drucker
'###########################
'Set oPrinters = WshNetwork.EnumPrinterConnections
'For i = 0 to oPrinters.Count - 1 Step 2
' if Left(oPrinters.Item(i+1),10) = "\\SrvApp01" Then
' 'WScript.Echo "i: "& i & " - Port " & wshNetwork.EnumPrinterConnections.Item(i) & " = " & wshNetwork.EnumPrinterConnections.Item(i+1)
'
' wshNetwork.RemovePrinterConnection oPrinters.Item(i+1)
' End If
' Next
Ein einfacher String-Vergleich ist "case sensitv". Also mal versuchen:
...
if Lcase(Left(oPrinters.Item(i+1),10)) = Lcase("\\SrvApp01") Then  
...

E.