Veröffentlicht 16. November 20159 j Guten Tag zusammen! Ich habe die Aufgabe bekommen, Drucker aus dem alten Druckserver (Windows 2008 R2) auf den neuen Druckserver (Windows 2012 R2) zu übernehmen, da der ältere abgeschaltet werden soll. Jedoch stehe ich jetzt vor dem Problem, dass es sich um 55 Drucker handelt. Diese alle einzeln zu übernehmen und für die Nutzer bereitzustellen stelle ich mir sehr zeitaufwendig vor. Meine Fragen dazu: - Gibt es eine Möglichkeit, die Drucker von der alten Umgebung in die neue Umgebung zu "kopieren"? - Wie kann ich definieren, dass die Nutzer (Sowohl Citrix als auch feste Clients) problemlos weiterarbeiten können? - Wie kann ich sicher sein, dass ich alle Drucker, die wirklich in Benutzung sind umgezogen werden und nicht nur die, die in letzter Zeit (1 Woche, 1 Monat) benutzt wurden? Insgesamt gibt es auf dem alten Druckserver etwa 200 Drucker, wobei ich nicht weiß ob ich alle erfasst habe, die noch in Benutzung sind. Das habe ich mit einer Spoolabfrage gemacht und dadurch herausgefunden, auf welchen Druckern noch gedruckt wurde. Über hilfreiche Antworten würde ich mich sehr freuen und es tut mir leid, falls es bereits ein Thema gibt welches diese Problematik behandelt, jedoch habe ich dazu nicht gefunden. Grüße, Marcel
16. November 20159 j Die Frage ist: willst Du wenig Arbeit oder einen "sauberen" Druckserver? Für ersteres: Alle Drucker über den Druckmanager in eine Datei exportieren, Server umbenennen, neuen Server wie alten Server benennen, Import der Datei. Nachteil: Du räumst nicht auf und schleppst den "Dreck" weiter mit. Für letzteres: den Druckserver neu aufbauen und nur die Treiber verwenden, die Du brauchst. Nachteil: Viel Arbeit.
17. November 20159 j Autor Hallo Tiro, danke für deine Antwort! Zitat Für ersteres: Alle Drucker über den Druckmanager in eine Datei exportieren, Server umbenennen, neuen Server wie alten Server benennen, Import der Datei. Nachteil: Du räumst nicht auf und schleppst den "Dreck" weiter mit. Es gibt bereits einen neuen Druckserver. Nennen wir sie einfach DS01 und DS02. Auf DS01 sind die ganzen alten Drucker, Treiber und sonstige Informationen, auf dem neuen sind die Drucker für die Modelle die wir aktuell im Einsatz haben und auch noch verwendet werden. Die Drucker, die ich in einer ersten Analyse für "noch im Gebrauch" tituliert habe sind nun alle implementiert, die habe ich bereits übernommen und einen Treiber der gefehlt hat installiert. Was ich nun als weitere Vorgehensweise für mich benötige ist die Möglichkeit, für den Client einzustellen, dass der Drucker auf dem neuen Server erkennt und speichert. Wahrscheinlich am besten und einfachsten ist die Möglichkeit mit einem Skript zu arbeiten. Der fragt dann ab, ob Drucker1 auf DS01 oder DS02 ist. Falls Drucker1 auf DS01 ist soll er den alten löschen und auf DS02 einstellen, sodass der Computer nicht mehr über den alten Server druckt. Kann mir da vielleicht jemand helfen, da ich nicht so der Experte im Skripte schreiben bin
17. November 20159 j Lösung Das alte VBS-Skript sollte immer noch funktionieren: 'Written by Jeffrey M. Oyler, Systems Engineer ' ICH (C) 2009 ' Letzte Aenderung: 2010-03-06 Option Explicit On Error Resume Next Dim objShell : Set objShell = WScript.CreateObject("WScript.Shell") Dim objNetwork : Set objNetwork = WScript.CreateObject("WScript.Network") Dim objGroupList Dim enumPrinters : Set enumPrinters = objNetwork.EnumPrinterConnections Dim strWorkDir : strWorkDir = ObjShell.ExpandEnvironmentStrings("%temp%") Dim strUser : strUser = objNetwork.UserName Dim strDomain : strDomain = objNetwork.UserDomain Dim strGroup Dim objUser : Set objUser = GetObject("WinNT://" & strDomain & "/" & strUser & ",user") Dim intCounter Dim localPrinter : Set localPrinter = False 'Set script working directory to user %temp% objShell.CurrentDirectory = strWorkDir 'Remove all current network printers 'ICH: drei folgende Zeilen auskommentiert For intCounter = 1 to enumPrinters.Count -1 step 2 objNetwork.RemovePrinterConnection enumPrinters.Item(intCounter), true Next 'Map standard printers for all users objNetwork.AddWindowsPrinterConnection "\\servername\drucker_fuer_alle" 'Set standard default printer 'ICH: eine Zeile auskommentiert objNetwork.SetDefaultPrinter "\\servername\druckername" 'If local printer exists on LPT or USB, set to default For intCounter = 0 to enumPrinters.Count -1 step 2 if Left(enumPrinters(intCounter),3)="LPT" OR Left(enumPrinters(intCounter),3)="USB" OR Left(enumPrinters(intCounter),3)="DOT" Then if Left(enumPrinters(intCounter+1),7)="Acrobat" Then Else objNetwork.SetDefaultPrinter enumPrinters(intCounter+1) localPrinter = True end if end if Next 'Map additional printers and change default printer if no local printer based on group membership 'Drucker für Connectors 'Drucker für Abteilung_X strGroup = "Abteilung_X" if IsMember(strGroup) Then objNetwork.AddWindowsPrinterConnection "\\servername\druckername" if localPrinter = false Then objNetwork.SetDefaultPrinter "\\servername\druckername" end if end if 'For use with Windows 2003 built in fax servername (Client must have XP fax client installed) ' ICH: folgende vier Zeilen auskommentiert ' strGroup = "Fax Group" ' if IsMember(strGroup) Then ' objNetwork.AddWindowsPrinterConnection "\\FAXservername\Fax Printer$" ' end if 'Cleanup Set objGroupList = Nothing Set objUser = Nothing MsgBox "Fertig",vbOKOnly,"Druckerskript" 'Function to test group membership Function IsMember(strGroup) If IsEmpty(objGroupList) Then Call LoadGroups End If IsMember = objGroupList.Exists(strGroup) End Function 'Subroutine to load user's groups into dictionary object Sub LoadGroups Dim objGroup Set objGroupList = CreateObject("Scripting.Dictionary") objGroupList.CompareMode = vbTextCompare For Each objGroup In objUser.Groups objGroupList(objGroup.name) = True Next Set objGroup = Nothing End Sub Oder Du machst alles über Gruppenrichtlinien und läßt das Skript nur einmal laufen um die alten Drucker zu löschen. Bearbeitet 17. November 20159 j von Tiro Sticky fingers ;-)
9. Dezember 20159 j Was spricht dagegen die alten Drucker per GPO zu trennen und mit einer GPO zu verbinden? Wenn du dir vorher überlegst wer welche Drucker bekommen soll kannst du das wunderbar über AD Gruppen steuern.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.