429
2hard4you
imebro
nikoatit
zanko

VBS - Drucker von Printserver via Script installieren

Mitglied: DevTig
06.08.2009
14:00:34 Uhr
6536 Aufrufe
5 Antworten
Hier zwei kleine Scripte zum installieren bzw. deinstallieren von Druckern, welche über einen Printserver bereitgestellt werden.
Drucker installieren:
01.
Set objNetwork = CreateObject("WScript.Network") 
02.
	objNetwork.AddWindowsPrinterConnection "\\PRINTSERVERNAME\DRUCKERNAME" 
03.
 
04.
	strDefaultPrinter = MsgBox("Set Printer DRUCKERNAME as default printer ?",vbYesNo + vbQuestion,"Default Printer...") 
05.
	If strDefaultPrinter = vbYes Then 
06.
		objNetwork.SetDefaultPrinter "\\PRINTSERVERNAME\DRUCKERNAME" 
07.
	End If 
08.
 
09.
wscript.echo "DRUCKERNAME" & vbCrlf & "Printer successfully installed" 
10.
wscript.Quit

Drucker deinstallieren:
01.
Set objNetwork = CreateObject("WScript.Network") 
02.
	objNetwork.RemovePrinterConnection "\\PRINTSERVERNAME\DRUCKERNAME" 
03.
 
04.
wscript.echo "DRUCKERNAME" & vbCrlf & "Printer successfully uninstalled" 
05.
wscript.Quit

Viel Spaß beim Drucker installieren.

Mitglied: bastla
bastla schreibt am 06.08.2009 um 14:34:13 Uhr
Hallo DevTig und willkommen im Forum!

Wenn in einem Script viermal eine Konstante ("DRUCKERNAME") vorkommt, wäre es empfehlenswert, diese auch als solche (oder auch als Variable) einzusetzen - macht's auf jeden Fall leichter wartbar.
Falls tatsächlich eine Rückfrage hinsichtlich "Default Printer" gewünscht ist, wäre diese vermutlich sinnvoller per "Popup" zu realisieren.
Zum "wscript.Quit" in der jeweils letzten Zeile: Was sollte denn das Script anderes tun als sich zu verabschieden? Insofern an dieser Stelle entbehrlich.

Grüße
bastla
Mitglied: DevTig
DevTig schreibt am 06.08.2009 um 14:51:57 Uhr
Hi bastla,

erst mal Danke für das freundliche Willkommen.

Aber nun zum eigentlichen...

Die Variable ("DRUCKERNAME") zu setzen ist wie Du erwähnt hast wirklich sinnvoll.
Ebenso könnte man(n) - Frau auch - die Variable ("PRINTSERVERNAME") setzen.

Zum "Popup" - die MsgBox ist ist in diesem Fall ein "Popup" - siehe "strDefaultPrinter = MsgBox("Set Printer...." .

Und nun zum letzten Punkt. Ein explizites "WScript.Quit" kann auch bei selbst beendenden Scripts sinnvoll sein, da es schon vorgekommen sein soll, das Scripte keinen Ausstiegspunkt gefunden haben.

Aber alles in allem sollen diese Scriptbeispiele nur das sein was sie sind - Beispiele, welche auch von Script-Einsteigern verstanden werden sollen.

Sonnige Grüße

DevTig
Mitglied: bastla
bastla schreibt am 06.08.2009 um 14:54:40 Uhr
Hallo DevTig!

"Popup" (mittlerweile mit Link face-wink) unterscheidet sich von einer "MsgBox" durch die Möglichkeit, nach Zeitablauf das Script fortzusetzen - bei Automatisierung (und darum geht es hier ja) sicherlich ein wichtiger Faktor ...

Aber alles in allem sollen diese Scriptbeispiele nur das sein was sie sind - Beispiele, welche auch von Script-Einsteigern verstanden werden sollen.
Kein Einwand - aber zumindest Punkt 1 sollte auch einem Einsteiger zumutbar sein ...

Grüße
bastla
Mitglied: DevTig
DevTig schreibt am 06.08.2009 um 17:05:07 Uhr
@bastla:
Danke für die Idee.

Hier die Variante für die automatisierte Installation mit Popup.

01.
strPrinterName = "DRUCKERNAME" 
02.
strServerName = "PRINTSERVERNAME" 
03.
 
04.
Set objShell = CreateObject("WScript.Shell") 
05.
Set objNetwork = CreateObject("WScript.Network") 
06.
	objNetwork.AddWindowsPrinterConnection "\\" & strServerName & "\" & strPrinterName 
07.
 
08.
	strDefaultPrinter = objShell.Popup("Set Printer " & strPrinterName & " as default printer ?",5,"Default Printer...", 4 + 32) 
09.
	If strDefaultPrinter = vbYes Then  
10.
		objNetwork.SetDefaultPrinter "\\" & strServerName & "\" & strPrinterName 
11.
	End If 	 
12.
 
13.
wscript.Quit

Ansonsten kenne ich es so das ein Stockwerks oder Abteilungsdrucker direkt als Standard definiert wird, und das entsprechend ohne Abfrage gescripted wird.

Viel Spaß beim weiterentwickeln der Scripte.

Mit sonnigen Grüßen
Devtig
Mitglied: bastla
bastla schreibt am 06.08.2009 um 19:18:10 Uhr
@DevTig
Ansonsten kenne ich es so das ein Stockwerks oder Abteilungsdrucker direkt als Standard definiert wird, und das entsprechend ohne Abfrage gescripted wird.
Deswegen auch meine Anmerkung oben ("Falls tatsächlich eine Rückfrage ...") ...

Grüße
bastla
mehr ...Ähnliche Beiträge