Zum Inhalt springen
  • 0

Druckerumzug von einem Druckserver zum anderen


Frage

Geschrieben

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

4 Antworten auf diese Frage

Empfohlene Beiträge

  • 0
Geschrieben (bearbeitet)

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 von Tiro
Sticky fingers ;-)
  • 0
Geschrieben

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.

  • 0
Geschrieben

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 :unsure:

  • 0
Geschrieben

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.

                                                               

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Diese Frage beantworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...