Drucker per Script auf W2K3 Cluster anlegen
Hallo,
ich muss die Drucker auf Windows 2003 Clustern mit ca. 3000 Druckerobjekten neu und mit anderen Treibern installieren. Bisher löse ich das über VBS mit einem Script das über WMI die Drucker und freigibt anlegt.
Auf einem normalen W2K3 Server klappt das ganz gut und ganz ohne Probleme. Geht das auch auf einem Cluster ebenso? Wie muss ich den Cluster ansprechen? Mache ich da einen Denkfehler beim Laden der Objekte und spreche so nur den Clusterknoten an?
Beispiel:
Geladene Objekte ####
Set objwmi = GetObject("winmgmts:{(LoadDriver)}!\\" & ".")
Set objNet = CreateObject("WScript.Network")
Set objNewPort = objwmi.Get ("Win32_TCPIPPrinterPort").SpawnInstance_
Set objNewPrinter = objwmi.Get("Win32_Printer").SpawnInstance_
Set objshell = CreateObject("WScript.Shell")
Set wmireg = GetObject("winmgmts:root/default:StdRegProv")
## Funktion InstallPrinter ##
Function InstallPrinter
On Error Resume Next
' ########## Port anlegen ############
objNewPort.Name = strPRPort
objNewPort.Protocol = 1
objNewPort.HostAddress = strPRPort
objNewPort.PortNumber = "9100"
objNewPort.SNMPEnabled = True
objNewPort.Put_
WScript.sleep 500
' ########## Drucker anlegen #########
objNewPrinter.DriverName = strPRDriver
objNewPrinter.PortName = strPRPort
objNewPrinter.DeviceID = strPRName
objNewPrinter.Location = strPRLocation
objNewPrinter.Comment = strPRComment
objNewPrinter.Network = True
objNewPrinter.Shared = True
objNewPrinter.ShareName = strPRName
objNewPrinter.DoCompleteFirst = True
WScript.sleep 1000
objNewPrinter.Put_
' ########## PrinterDefaults Konfigurieren #########
If strDefPrintSet = "true" Then
WScript.echo "treffer für PRDefaults"
'Reg ReadKey und RegWriteKey abh. vom Treibername Binary Werte
result1 = wmireg.GetBinaryValue(HKEY_LOCAL_MACHINE, strDefKey, strPRDriver, conf1)
strPRConfKey = "SYSTEM\CurrentControlSet\Control\Print\" & strPRName
strPRDevMode = "Default DevMode"
result2 = wmireg.SetBinaryValue(HKEY_LOCAL_MACHINE, strPRConfKey, strPRDevMode, conf1)
conf1 = ""
End If
If Err.number <> o Then
strErr = "Achtung Drucker nicht installiert : " & strPRName & " " & Err.Description
WScript.Echo strErr
'Schreiben des Logfiles
objLogfile.WriteLine(Time & " " & strErr)
Else
strOK = "folgender Drucker installiert : " & strPRName & " Hersteller:" & " " & strManufacturer
WScript.Echo strOK
'Schreiben des Logfiles
objLogfile.WriteLine(Time & " " & strOK)
End If
On Error Goto 0
End Function
ich muss die Drucker auf Windows 2003 Clustern mit ca. 3000 Druckerobjekten neu und mit anderen Treibern installieren. Bisher löse ich das über VBS mit einem Script das über WMI die Drucker und freigibt anlegt.
Auf einem normalen W2K3 Server klappt das ganz gut und ganz ohne Probleme. Geht das auch auf einem Cluster ebenso? Wie muss ich den Cluster ansprechen? Mache ich da einen Denkfehler beim Laden der Objekte und spreche so nur den Clusterknoten an?
Beispiel:
Geladene Objekte ####
Set objwmi = GetObject("winmgmts:{(LoadDriver)}!\\" & ".")
Set objNet = CreateObject("WScript.Network")
Set objNewPort = objwmi.Get ("Win32_TCPIPPrinterPort").SpawnInstance_
Set objNewPrinter = objwmi.Get("Win32_Printer").SpawnInstance_
Set objshell = CreateObject("WScript.Shell")
Set wmireg = GetObject("winmgmts:root/default:StdRegProv")
## Funktion InstallPrinter ##
Function InstallPrinter
On Error Resume Next
' ########## Port anlegen ############
objNewPort.Name = strPRPort
objNewPort.Protocol = 1
objNewPort.HostAddress = strPRPort
objNewPort.PortNumber = "9100"
objNewPort.SNMPEnabled = True
objNewPort.Put_
WScript.sleep 500
' ########## Drucker anlegen #########
objNewPrinter.DriverName = strPRDriver
objNewPrinter.PortName = strPRPort
objNewPrinter.DeviceID = strPRName
objNewPrinter.Location = strPRLocation
objNewPrinter.Comment = strPRComment
objNewPrinter.Network = True
objNewPrinter.Shared = True
objNewPrinter.ShareName = strPRName
objNewPrinter.DoCompleteFirst = True
WScript.sleep 1000
objNewPrinter.Put_
' ########## PrinterDefaults Konfigurieren #########
If strDefPrintSet = "true" Then
WScript.echo "treffer für PRDefaults"
'Reg ReadKey und RegWriteKey abh. vom Treibername Binary Werte
result1 = wmireg.GetBinaryValue(HKEY_LOCAL_MACHINE, strDefKey, strPRDriver, conf1)
strPRConfKey = "SYSTEM\CurrentControlSet\Control\Print\" & strPRName
strPRDevMode = "Default DevMode"
result2 = wmireg.SetBinaryValue(HKEY_LOCAL_MACHINE, strPRConfKey, strPRDevMode, conf1)
conf1 = ""
End If
If Err.number <> o Then
strErr = "Achtung Drucker nicht installiert : " & strPRName & " " & Err.Description
WScript.Echo strErr
'Schreiben des Logfiles
objLogfile.WriteLine(Time & " " & strErr)
Else
strOK = "folgender Drucker installiert : " & strPRName & " Hersteller:" & " " & strManufacturer
WScript.Echo strOK
'Schreiben des Logfiles
objLogfile.WriteLine(Time & " " & strOK)
End If
On Error Goto 0
End Function
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 103330
Url: https://administrator.de/forum/drucker-per-script-auf-w2k3-cluster-anlegen-103330.html
Ausgedruckt am: 08.04.2025 um 11:04 Uhr