Jump to content

IP von Drucker Share ändern


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo Zusammen,

 

Ich steh vor der herausforderung, dass ich auf einem Terminalserver einen Druckershare auf einen anderen Drucker umleiten muss. Das Zeil ist, wenn ein Drucker defekt ist, alle Druckaufträge beim anderen Drucker raus kommen.

 

Der User kann dann ein Skript laufen lassen, welches auf dem TS im Druckershare die IP ändert oder so ähnlich...

 

folgendes Skript hab ich schon ausprobiert..:

 

dim oMaster1
Dim oMaster2
dim oPrinter1
Dim oPrinter2
'The following code creates the required PrintMaster and Printer objects.
Set oMaster1 = CreateObject("PrintMaster.PrintMaster.1")
Set oMaster2 = CreateObject("PrintMaster.PrintMaster.1")
Set oPrinter1 = CreateObject("Printer.Printer.1")
Set oPrinter2 = CreateObject("Printer.Printer.1")

'The following code gets the existing printer settings. This step is optional; however, if you do not use it, you
'will not know which options have been left on the default settings. Because there are so many properties
'you can set, you might fail to enter a value, and the default settings might cause unwanted effects.
oMaster1.PrinterGet "\\SERVER", "Drucker1", oPrinter1
oMaster2.PrinterGet "\\SERVER", "Drucker2", oPrinter2

'The following code sets the ServerName and is used only for a remote printer if you did not use 'PrinterGet.
'If you did use PrinterGet, it fills in the ServerName property for you.
'oPrinter.ServerName = "\\SERVER"

'The following code sets some printer properties. Because there are so many settings, the following code
'only configures a few settings. You might or might not want to set any of the following properties.
'oPrinter.PortName = "lpt1:"

'Drucker1
oPrinter1.PrinterName = "Drucker1_old"
oPrinter1.ShareName = "Drucker1_old"
oPrinter1.Location = "Leit Alt"
oMaster1.PrinterConnectionDel 
oMaster1.PrinterSet oPrinter1

'Drucker2
oPrinter1.PrinterName = "Drucker1"
oPrinter2.ShareName = "Drucker1"
oPrinter2.Location = "Pas ex drucker2"
'oPrinter.Comment = "comment"
'oPrinter.DataType = "RAW"
'oPrinter.NewName = "New Printer Name"
'oPrinter.SepFile = "c:\sep-file"
'The following code sets printer attributes. They can be set to true or false to enable or disable the setting.
'oPrinter.Queued = true / false
'oPrinter.Direct = true / false
'oPrinter.Default = true / false
'oPrinter.Shared = true / false 
'oPrinter.Hidden = true / false
'oPrinter.EnableDevq = true / false
'oPrinter.KeepPrintedJobs = true / false
'oPrinter.DoCompleteFirst = true / false
'oPrinter.WorkOffline = true / false
'oPrinter.EnableBidi = true / false
'oPrinter.RawOnly = true / false
'oPrinter.Published = true / false
'The following code saves the printer settings.
oMaster2.PrinterSet oPrinter2

'The following code uses the Err object to determine whether the printer settings were updated successfully.
if Err <> 0 then
'An error occurred
end If

 

 

Hat jemand Erfahrung auf dem Gebiet? Oder hat jemand schon ein solches Skript gemacht?

 

 

gruss

ronny

Link zu diesem Kommentar

hi..

 

die Sache ist die, der Ersatzdrucker ist eben auch im Einsatz...

Dieser ist jedoch nicht produktionskritisch... so könnte dieser für den anderen einspringen im Notfall...

 

das ganze läuft in einem Schichtbetrieb... sonst muss ich eines morgens um 3 Uhr in den Betrieb fahren und den Drucker umhängen :-)

 

daran hab ich auch gedacht, aber geh eben ned.. leider

Link zu diesem Kommentar

Ich nehme nun dieses Skript:

strComputer = "server" 'servername des hosts oder . für localhost
Set objWMIService = GetObject("winmgmts:" _
   & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
'Drucker bei welchem der Port geändert wird
Set objPrinter = objWMIService.Get _
   ("Win32_Printer.DeviceID='Drucker1'")
'Nimm diesen Port
objPrinter.PortName = "test"
objPrinter.Put_

strComputer = null

 

Lokal funktioniert es, blos wie mache ich dass ich das Skript auf dem Server zum laufen bringe? Also via Skript auf dem Server ändern.

 

Welche Rechte werden auf dem Server benötigt?

 

gruss

ronny

Link zu diesem Kommentar

Ein Druckerpool sollte aber auch so funktionieren. Beide Ports anlegen und den wichtigen rucker mit Pool anlegen. Den nicht so wichtigen Standardmässig anlegen. Somit hättest du einen Port mit zwei Druckobjekten belegt. Das funktioniert auch bei unterschiedlichen Treibern wie PCL und PS. Dann müsste sich keiner mit der Umkonfiguration herumschlagen.

 

Gruß,

 

Aljoscha

Link zu diesem Kommentar

Mit dem Skript oben, klappts problemlos lokal!

 

Blos wie kann ich das Skript auf dem Server ausführen?

 

mit diesem gehts ned...

Dim Controller, RemoteScript
Set Controller = WScript.CreateObject("WSHController")
Set RemoteScript = Controller.CreateScript("test.vbs", "server")
RemoteScript.Execute
Do While RemoteScript.Status <> 2 
   WScript.Sleep 100
Loop

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

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

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

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

×
×
  • Neu erstellen...