Printservermigration von Windows 32-Bit Treiber auf Windows 64-Bit Treiber
Hallo zusammen
Ich plane die Migration einer Citrixfarm die bisher auf Windows Server 2003, neu allerdings auf Windows 2008 R2 Servern laufen soll.
Bei der Behandlung des Themas "Printing" habe ich festgestellt, dass ich unseren Windows 32-Bit Printserver nicht einfach übernehmen kann, da Windows 2008 R2 ja 64-Bit Architektur hat.
Auf dem neu aufzubauenden Printserver (logischerweise 64-Bit) müsste ich nun sämtliche Treiber neu installieren.
Gibt es eine Möglichkeit, so viele Informationen wie möglich aus dem "alten" Printserver auszulesen? (Sprich Gerätemodell, Treiber, Standardeinstellungen etc...)
Es handelt sich um fast 170 Drucker und ca. 50 Treiber.
Ich bin gespannt auf eure Vorschläge und Ideen.
Vielen Dank im Vorraus und Grüsse
pen
Ich plane die Migration einer Citrixfarm die bisher auf Windows Server 2003, neu allerdings auf Windows 2008 R2 Servern laufen soll.
Bei der Behandlung des Themas "Printing" habe ich festgestellt, dass ich unseren Windows 32-Bit Printserver nicht einfach übernehmen kann, da Windows 2008 R2 ja 64-Bit Architektur hat.
Auf dem neu aufzubauenden Printserver (logischerweise 64-Bit) müsste ich nun sämtliche Treiber neu installieren.
Gibt es eine Möglichkeit, so viele Informationen wie möglich aus dem "alten" Printserver auszulesen? (Sprich Gerätemodell, Treiber, Standardeinstellungen etc...)
Es handelt sich um fast 170 Drucker und ca. 50 Treiber.
Ich bin gespannt auf eure Vorschläge und Ideen.
Vielen Dank im Vorraus und Grüsse
pen
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 288708
Url: https://administrator.de/contentid/288708
Ausgedruckt am: 08.11.2024 um 09:11 Uhr
3 Kommentare
Neuester Kommentar
Hier ein uraltes VBscript von mir. Einfach auf dem Win 2003 PS ausführen. Erstellt Dateien
SERVERNAME_Printers.txt
SERVERNAME_TCPIP_Ports.txt
SERVERNAME_LPR_Ports.txt
SERVERNAME_ThinPrint_Ports.txt
Keine Gewähr!
SERVERNAME_Printers.txt
SERVERNAME_TCPIP_Ports.txt
SERVERNAME_LPR_Ports.txt
SERVERNAME_ThinPrint_Ports.txt
Keine Gewähr!
On error resume next
Const HKEY_LOCAL_MACHINE = &H80000002
Const REG_SZ = 1
Const REG_EXPAND_SZ = 2
Const REG_BINARY = 3
Const REG_DWORD = 4
Const REG_MULTI_SZ = 7
Set FSO = CreateObject("Scripting.FileSystemObject")
Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
ComputerName = CreateObject("Wscript.Network").ComputerName
'Drucker
Set OutDat = FSO.CreateTextFile(ComputerName & "_Printers.txt")
OutDat.WriteLine "Drucker" & vbTab & "Treiber" & vbTab & "Freigabe" & vbTab & "Port" & vbTab & "Beschreibung" & vbTab & "Standort"
strKeyPath = "SYSTEM\CurrentControlSet\Control\Print\Printers"
oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys
If IsArray(arrSubKeys) Then
For Each subkey In arrSubKeys
PrinterName = subkey
strKeyPath2 = "HKEY_LOCAL_MACHINE\" & strKeyPath & "\" & subkey
Printer_Driver = RegistryRead(strKeyPath2 & "\Printer Driver")
Share_Name = RegistryRead(strKeyPath2 & "\Share Name")
Port = RegistryRead(strKeyPath2 & "\Port")
Description = RegistryRead(strKeyPath2 & "\Description")
Location = RegistryRead(strKeyPath2 & "\Location")
OutDat.WriteLine PrinterName & vbTab & """" & Printer_Driver & """" & vbTab & Share_Name & vbTab & Port & vbTab & """" & Description & """" & vbTab & """" & Location & """"
Next
End If
'Standard TCP/IP Ports
Set OutDat = FSO.CreateTextFile(ComputerName & "_TCPIP_Ports.txt")
OutDat.WriteLine "PortName" & vbTab & "Double_Spool" & vbTab & "HostName" & vbTab & "HWAddress" & vbTab & "IPAddress" & vbTab & "PortNumber" & vbTab & "Protocol" & vbTab & "Queue" & vbTab & "SNMP_Community" & vbTab & "SNMP_Enabled" & vbTab & "SNMP_Index" & vbTab & "Version"
strKeyPath = "SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports"
oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys
If IsArray(arrSubKeys) Then
For Each subkey In arrSubKeys
PortName = subkey
strKeyPath2 = "HKEY_LOCAL_MACHINE\" & strKeyPath & "\" & subkey
Double_Spool = RegistryRead(strKeyPath2 & "\Double Spool")
HostName = RegistryRead(strKeyPath2 & "\HostName")
HWAddress = RegistryRead(strKeyPath2 & "\HWAddress")
IPAddress = RegistryRead(strKeyPath2 & "\IPAddress")
PortNumber = RegistryRead(strKeyPath2 & "\PortNumber")
Protocol = RegistryRead(strKeyPath2 & "\Protocol")
Queue = RegistryRead(strKeyPath2 & "\Queue")
SNMP_Community = RegistryRead(strKeyPath2 & "\SNMP Community")
SNMP_Enabled = RegistryRead(strKeyPath2 & "\SNMP Enabled")
SNMP_Index = RegistryRead(strKeyPath2 & "\SNMP Index")
Version = RegistryRead(strKeyPath2 & "\Version")
OutDat.WriteLine PortName & vbTab & Double_Spool & vbTab & HostName & vbTab & HWAddress & vbTab & IPAddress & vbTab & PortNumber & vbTab & Protocol & vbTab & Queue & vbTab & SNMP_Community & vbTab & SNMP_Enabled & vbTab & SNMP_Index & vbTab & Version
Next
End If
'LPR Ports
Set OutDat = FSO.CreateTextFile(ComputerName & "_LPR_Ports.txt")
OutDat.WriteLine "PortName" & vbTab & "Printer_Name" & vbTab & "Server_Name"
strKeyPath = "SYSTEM\CurrentControlSet\Control\Print\Monitors\LPR Port\Ports"
oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys
If IsArray(arrSubKeys) Then
For Each subkey In arrSubKeys
PortName = subkey
strKeyPath2 = "HKEY_LOCAL_MACHINE\" & strKeyPath & "\" & subkey
Printer_Name = RegistryRead(strKeyPath2 & "\Printer Name")
Server_Name = RegistryRead(strKeyPath2 & "\Server Name")
OutDat.WriteLine PortName & vbTab & Printer_Name & vbTab & Server_Name
Next
End If
'ThinPrint Ports
Set OutDat = FSO.CreateTextFile(ComputerName & "_ThinPrint_Ports.txt")
OutDat.WriteLine "PortName" & vbTab & "Protocol" & vbTab & "NetSend" & vbTab & "WTSMsgBox" & vbTab & "CompressData" & vbTab & _
"PackagesAccess" & vbTab & "SendPackages" & vbTab & "PackageSize" & vbTab & "BandwidthAccess" & vbTab & "Bandwidth" & vbTab & _
"BandwidthCtrlEnabled" & vbTab & "Port" & vbTab & "Filter" & vbTab & "PrinterQueueName" & vbTab & "TPACScheme" & vbTab & _
"FormatString" & vbTab & "IsVCGPort" & vbTab & "IsCSvcPort" & vbTab & "LogJobStatistic" & vbTab & "RefreshTimeJobStat"
strKeyPath = "SYSTEM\CurrentControlSet\Control\Print\Monitors\ThinPrint Port"
oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys
If IsArray(arrSubKeys) Then
For Each subkey In arrSubKeys
PortName = subkey
strKeyPath2 = "HKEY_LOCAL_MACHINE\" & strKeyPath & "\" & subkey
Protocol = RegistryRead(strKeyPath2 & "\Protocol")
NetSend = RegistryRead(strKeyPath2 & "\NetSend")
WTSMsgBox = RegistryRead(strKeyPath2 & "\WTSMsgBox")
CompressData = RegistryRead(strKeyPath2 & "\CompressData ")
PackagesAccess = RegistryRead(strKeyPath2 & "\PackagesAccess")
SendPackages = RegistryRead(strKeyPath2 & "\SendPackages")
PackageSize = RegistryRead(strKeyPath2 & "\PackageSize")
BandwidthAccess = RegistryRead(strKeyPath2 & "\BandwidthAccess")
Bandwidth = RegistryRead(strKeyPath2 & "\Bandwidth")
BandwidthCtrlEnabled = RegistryRead(strKeyPath2 & "\BandwidthCtrlEnabled ")
Port = RegistryRead(strKeyPath2 & "\Port")
xFilter = RegistryRead(strKeyPath2 & "\Filter")
PrinterQueueName = RegistryRead(strKeyPath2 & "\PrinterQueueName")
TPACScheme = RegistryRead(strKeyPath2 & "\TPACScheme")
FormatString = RegistryRead(strKeyPath2 & "\FormatString")
IsVCGPort = RegistryRead(strKeyPath2 & "\IsVCGPort")
IsCSvcPort = RegistryRead(strKeyPath2 & "\IsCSvcPort")
LogJobStatistic = RegistryRead(strKeyPath2 & "\LogJobStatistic ")
RefreshTimeJobStat = RegistryRead(strKeyPath2 & "\RefreshTimeJobStat")
OutDat.WriteLine PortName & vbTab & Protocol & vbTab & NetSend & vbTab & WTSMsgBox & vbTab & CompressData & vbTab & _
PackagesAccess & vbTab & SendPackages & vbTab & PackageSize & vbTab & BandwidthAccess & vbTab & Bandwidth & vbTab & _
BandwidthCtrlEnabled & vbTab & Port & vbTab & """" & xFilter & """" & vbTab & PrinterQueueName & vbTab & """" & TPACScheme & """" & vbTab & _
"""" & FormatString & """" & vbTab & IsVCGPort & vbTab & IsCSvcPort & vbTab & LogJobStatistic & vbTab & RefreshTimeJobStat
Next
End If
Set OutDat = nothing
set FSO = nothing
msgbox "Habe fertig!"
WScript.Quit
Function RegistryRead(Wert)
On Error Resume Next
Dim WshShell, Ausgabe
Set WshShell = CreateObject("Wscript.Shell")
Ausgabe = ""
Ausgabe = WshShell.RegRead(Wert)
RegistryRead = Ausgabe
End function