Mit dem offiziellen Support-Ende für Windows Server 2003 im Juli 2015 macht es sich für viele Microsoft-Kunden erforderlich, ihre alten Server auf neuere Betriebssysteme zu migrieren. Das gilt auch für Druckserver. Für viele Administratoren stellt dies eine logistische, nicht unbedeutende Herausforderung dar, da bestehende Druckumgebungen nicht einfach 1 zu 1 migriert werden können. Zusätzlich ist es sinnvoll, nicht benötigte oder veraltete Drucker oder Ports zu entfernen.
Das folgende Beispiel kombiniert Microsoft Printbrm und Tpms.Powershell, um eine existierende Infrastruktur auf ein neues Betriebssystem zu migrieren. Hierbei werden alle Drucker und Ports neu angelegt.
1. Öffnen Sie das Windows Print Management auf dem neuen Server (Windows 2008 R2, 2012 oder 2012 R2) und verbinden Sie sich von dort mit dem alten Druckserver.
2. Exportieren Sie von hier aus die Drucker- und Port-Information mit Export printers to a file im Kontextmenü – z. B. nach W2k3-printers.printerExport.
Print Management auf dem neuen Druckserver: Drucker des alten Druckservers exportieren
3. Öffnen Sie auf dem alten Druckserver den ThinPrint Port Manager, wenn dort eine ThinPrint Engine installiert ist.
4. Exportieren Sie von hier aus die ThinPrint-Port-Information mit All Tasks→ Import/Export→ Export Port Configuration im Kontextmenü – z. B. nach TP-ports.xml.
ThinPrint Port Manager auf dem alten Druckserver: ThinPrint Ports exportieren
# Schritt 1
# Wechseln Sie zu Tpms.Powershell, und konvertieren Sie die oben generierten Export-Dateien – hier: W2k3-printers.printerExport und TP-ports.xml – wie folgt:
ConvertTo-TpmsMigrationScript -SourcePath c:\temp\W2k3-printers.printerExport -OutputPath c:\temp\printer-migration.ps1 ConvertTo-TpmsMigrationScript -SourcePath c:\temp\TP-ports.xml -OutputPath c:\temp\TP-ports.ps1
# Schritt 2
# Kopieren Sie beide PowerShell-Dateien in eine einzige Datei. Fügen Sie am Ende dieser neuen PowerShell-Datei die folgenden Zeilen hinzu:
$srv1 = New-TpmsObjApplyAgent -Name "newserver.testdom.local" -Port 5050 -Printers ($Printers) -Ports ($TcpIpPorts) $srv2 = New-TpmsObjApplyAgent -Name "newserver.testdom.local" -Port 5050 -Printers ($Printers) -Ports ($TpPorts)
<#
Bevor Sie das Skript starten, führen Sie bitte folgendes aus:
- Ersetzen Sie die Adresse des Zielrechners newserver.testdom.local (siehe oben) durch Ihre eigene Druckserver-Adresse.
- Wenn gewünscht, fügen Sie die Option SNMP status enabled bei Standard TCP/IP Ports durch Entfernen des Doppelkreuzes ( # ) aus den Add-TpmsSnmpInfo-Zeilen hinzu
Hinweis: Das Ausführen des Skriptes mit aktivierter SNMP-Option dauert lange, da Windows mit jedem Netzwerkdrucker eine Verbindung herstellt. - Wenn erforderlich, ändern Sie die betreffenden Freigabenamen – definiert durch den Add-TpmsSharingInfo-Parameter -Name.
- Wenn erforderlich, ändern Sie die Namen der betreffenden Druckertreiber – definiert durch den New-TpmsObjPrinter-Parameter -Driver.
- Um Druckertreiber-Einstellungen von anderen Druckerobjekten auf demselben Rechner zuzuweisen, fügen Sie Template-Druckernamen hinzu – definiert durch den Parameter -Template der Cmdlets New-TpmsObjPrinter oder New-TpmsObjPrinterTpog
Der einfachste Weg ist es, erstens alle erforderlichen Druckertreiber durch das Anlegen je eines Druckers vorzuinstallieren, zweitens die Standardwerte dieser Drucker einzustellen, drittens die Treibernamen in den Skripten anzupassen (siehe oben) und viertens den Parameter -Template durch Suchen&Ersetzen hinzuzufügen: -Driver <driver_name> global ersetzen durch -Driver <driver_name> -Template <driver_name> (Voraussetzung: printer_name = driver_name).
Befindet sich das Template auf einem entfernten Server, muss sein Name mit FQDN-Adresse angegeben werden. Beispiel: - -Template “\\cps48.ourdomain.local\Lexmark T644 (MS)
- Und der Dienst des Tpms.Agents, der die Drucker anlegt, muss mit einem Account laufen, der das Recht besitzt, auf die Freigabe des Templates, das sich auf dem entfernten Rechner befindet, zuzugreifen.
- Um Druckertreiber-Einstellungen von Druckern eines ThinPrint Clients Windows zu beziehen, fügen Sie eine Zeile mit Add-TpmsClientInfo zu jeder New-TpmsObjPrinterTpog-Zeile hinzu.
#>
# Schritt 3
Start-TpmsApplyByAgent -Action Deploy ($srv1,$srv2) | Format-TpmsDispatch
# Starten Sie das Skript.
Dateien vom Typ .printerExport und .xml nach .ps1 konvertieren
Dateien vom Typ .printerExport und .xml konvertiert nach .ps1
Tpms.Powershell-Migrationsskript: beide .ps1-Dateien zu einer einzigen verschmolzen
Tpms.Powershell-Migrationsskript: Parameter -Template hinzugefügt
Tpms.Powershell-Migrationsskript fertiggestellt