Tom250376 10 Geschrieben 21. November 2005 Melden Teilen Geschrieben 21. November 2005 Hallo, ich habe ein kleines Skript gebaut was bei der Printservermigration am Client helfen kann. Aufgabe war, an 600 Computern die eingerichteten Drucker auf einen neuen Server zu übertragen. Es wird jetzt beim anmelden überprüft ob noch alte Drucker installiert sind, und diese dann auf den neuen Server umgestellt. Auch der Standarddrucker ist hinterher wieder der richtige. Vielleicht hilft es ja noch einem anderen, wäre nett, wenn ich mal ne rückinfo bekäme... :) Gruß ToM ' ************************************************************** ' Thema: Anmeldeskript zur Löschung alter Druckerverbindungen ' und Installation der neuen Verbindungen ' Author: Matthias Többens ' Date: Freitag, 18. November 2005 ' Version:1.0 ' ************************************************************** const key = "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\Device" Set WSHShell = CreateObject("WScript.Shell") Set IWshNetwork2 = CreateObject("Wscript.Network") Set drucker = IWshNetwork2.EnumPrinterConnections oce = "\\[NeuerPrintserver]\oce 5200" x8830f = "\\[NeuerPrintserver]\x8830f" x8830n = "\\[NeuerPrintserver]\x8830n" change = 0 defprinter=RegRead(key) 'Hier wird der Standarddrucker abgefragt Function RegRead(key) On Error Resume Next RegRead = WSHShell.RegRead(key) if err.number<>0 then RegRead = err.Description End if on error goto 0 end function For x = 0 to drucker.count-1 step 2 port = drucker(x) name = drucker(x+1) 'Hier wird die Abfrage gestartet, ob noch alte Drucker vorhanden sind 'Anschliessend werden diese mit dem neuen Server verbunden If InStr(LCase(name),LCase("[AlterServer]"))>0 then On Error Resume Next change=1 name1=replace(name,"[AlterServer]","[NeuerPrintserver]") ' Hier werden besondere Drucker speziell abgefragt If InStr(LCase(name),"5200")>0 then IWshNetwork2.AddWindowsPrinterConnection oce IWshNetwork2.RemovePrinterConnection name, true, true end if If InStr(LCase(name),"x8830f")>0 then IWshNetwork2.AddWindowsPrinterConnection x8830f IWshNetwork2.RemovePrinterConnection name, true, true end if If InStr(LCase(name),"x8830n")>0 then IWshNetwork2.AddWindowsPrinterConnection x8830n IWshNetwork2.RemovePrinterConnection name, true, true else IWshNetwork2.AddWindowsPrinterConnection name1 IWshNetwork2.RemovePrinterConnection name, true, true end If 'Hier wird der neue bzw alte Standarddrucker bestimmt if InStr(LCase(defprinter), Lcase(name))>0 then IWshNetwork2.SetDefaultPrinter name1 end if end if Next if change=1 then msgbox "Wir haben die Drucker vom [AlterServer] auf dem [NeuerPrintserver] umgestellt." & vbCRLF & "Bitte wenden Sie sich bei Problemen an die Hotline "& vbCRLF & vbCRLF &"Die DV-Abteilung" Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.