lkaderavek
Goto Top

Drucker-Anmelde-Skript mit Druckereinstellungen

Ein Anmelde-Skript für die Drucker-Installation / Anbindung in dem die Drucker-Einstellungen gesetzt werden.

Hallo Board,

ich habe ein Problem, dass ich mehrere Drucker mit einem Anmelde-Skript anbinden muss.

Ich schaffe die Anbindung mit con2prt und printUI, doch sind die persönlichen Einstellungen dann auf Default und die Drucker, drucken aus dem falschen Fach.

Konkreter Fall:

Drucker HP LaserJet 5100tn (PCL 6 Treiber) auf einem Print-Server installiert
1 Drucker wo nur Fach 1 (kein manueller Einzug) - Freigabe: HP-5100-ZS
1 Drucker wo nur Fach 2 - Freigabe: HP-5100-Blanko
1 Drucker wo nur Fach 3 - Freigabe: HP-5100-CO

Am Print-Server sind die Einstellungen für die Fächer und die persönlichen Druck-Einstellungen richtig.
Wenn ich vom Print-Server drucke, dann wird aus den richtigen Fächern gedruckt.
Wenn ich am Client drucken will, muss ich erst die persönlichen Einstellungen setzen, damit aus den richtigen Fächern gedruckt wird.
Gibt es eine Möglichkeit, beim Anmelde-Skript die persönlichen Einstellungen zu setzen?

Bitte um Hilfe.

Danke

Lukas

Content-Key: 134029

Url: https://administrator.de/contentid/134029

Printed on: April 19, 2024 at 04:04 o'clock

Member: fritzo
fritzo Jan 21, 2010 at 13:22:58 (UTC)
Goto Top
Hi,

Ich würde aus dem Logonscript (ist ja anscheinend bei Dir auf Batch-Basis) ein VBSCript starten und die Drucker dort über die Methode "AddWindowsPrinterConnection" des Objekts "WScript.Network" einbinden. Kleines VBScript als Beispiel:

OPTION EXPLICIT
DIM oNet
DIM strPrinter

strPrinter = "\\Printserver\Printqueue"  

SET oNet  = CreateObject("WScript.Network")   
oNet.AddWindowsPrinterConnection strPrinter
IF err.number <> 0 THEN
	WScript.Echo "Drucker : " & strPrinter & "wurde erfolgreich angebunden"  
ELSE
	WScript.Echo "Drucker : " & strPrinter & "konnte nicht angebunden werden"  

SET oNet  = Nothing
WScript.Quit

Wenn Du zu 100% sicherstellen willst, daß alle User ihre Drucker mitsamt der persönlichen Einstellungen immer beibehalten, dann kannst Du auch die Daten aus der Registry exportieren, sobald der Drucker wunschgemäß konfiguriert ist. Alle Daten über angebundene Drucker stehen im Reghive "HKCU\Printers". Wenn Du diesen manuell abziehen willst, dann bind Dir bei abgemeldetem User die ntuser.dat über "Struktur laden" in Regedit ein, markier dann den Keyhive "Printers" und exportiere ihn. Diese Exportdatei kannst Du als USERNAME.reg in einem Share abspeichern und beim Anmelden über das Logonscript von dort ziehen in die Registry des Users nach HKCU importieren (Batchbefehl hierzu wäre "reg import \\server\share\%username%.reg")

Gruß,
fritzo
Member: LKaderavek
LKaderavek Jan 21, 2010 at 17:15:40 (UTC)
Goto Top
Danke

für die Hilfe.

Ich werde das gleich ausprobieren und die Daten aus der Registry des Print-Servers exportieren.

Bekommt der User, da ausser der erfolgreich oder nicht erfolgreich-Meldung etwas mit?

Muss er den Import in die Registry bestätigen?

Danke

Lukas
Member: LKaderavek
LKaderavek Jan 21, 2010 at 18:42:26 (UTC)
Goto Top
Hallo,

ich habe den Schlüssel Printers exportiert und importiert.

1. Übernimmt er, obwohl Bestätigung, die Werte nicht in die Registry
2. Werden die Einstellungen aus dem funktionierenden User nicht übernommen.

Woran kann das liegen?

strPrinter = "\\Printserver\Printqueue"
steht Printqueue für den Printer?

strUNCPrinter, wo wird in deinem Skript diese Variable definiert?

Muss ich für jeden Drucker, so ein Skript bauen, oder kann ich die Variablen strPrinter1 - strPrinter20 nennen?

Danke

Lukas
Member: fritzo
fritzo Jan 22, 2010 at 08:05:47 (UTC)
Goto Top
Bekommt der User, da ausser der erfolgreich oder nicht erfolgreich-Meldung etwas mit?
Eigentlich nicht, die Daten sollten auch ohne Aufforderung in der Registry landen, sofern der User Schreibrechte hat.

Muss er den Import in die Registry bestätigen?
Nope.


strUNCPrinter
SChreibfehler, ich habe das Script entsprechend korrigiert.

strPrinter = "\\Printserver\Printqueue" - steht Printqueue für den Printer?
Nein, Printqueue steht für Printqueue ("Druckerwarteschlange"). Da Du von Printserver schriebst, gehe ich davon aus, daß Du da Printqueues auf einem Printserver hast ;)

Muss ich für jeden Drucker, so ein Skript bauen, oder kann ich die Variablen strPrinter1 - strPrinter20 nennen?
Das Script eignet sich in der vorliegenden Form nur für einen bis wenige Drucker. Am flexibelsten ist es, für jeden User ein Text- oder XML-File anzulegen und die Drucker dort zu definieren. Anschließend kannst Du das Textfile beim Logon auslesen und die Drucker zeilen- oder nodeweise mit einer ForEach-Schleife importieren.