nilsvlehn
Goto Top

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?

Content-ID: 352944

Url: https://administrator.de/contentid/352944

Ausgedruckt am: 22.11.2024 um 09:11 Uhr

134464
134464 26.10.2017 um 12:39:43 Uhr
Goto Top
emeriks
emeriks 26.10.2017 um 13:18:45 Uhr
Goto Top
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.