56547
Goto Top

Lokale Drucker per Logon-Skript erstellen

Hallo,

ich möchte auf meinen Windows XP PCs (in einer AD Domäne) die Drucker per Skript zuweisen. Die in Frage kommenden Drucker sind HP-Drucker mit eigener Netzwerkkarte, ein Printserver ist nicht vorhanden. Zur Zeit muss ich hierzu als Admin den Treiber installieren und einen Druckerport definieren, dann hat der User diesen Drucker auch zur Verfügung.

Jetzt meine Frage "Wie automatisiere ich das?". Ich möchte in einem Logon-Skript festlegen welche Drucker zur Verfügung gestellt werden. Diese soll dann jeder User, egal an welcher WS er sich anmeldet, zur Verfügung gestellt bekommen. Das Logon-Skript wird mit einer eigenen OU verbunden, sodass nur bestimmte Rechner es ausführen.

Wie erstelle ich per Skript einen Port und installiere ggf, falls nicht bereits vorhanden, einen Treiber?
Der Treiber muss ja dann irgendwo im Netz verfügbar sein. Sollte das auf NETLOGON liegen, oder evtl. besser im SYSVOL/Policy der jeweiligen Gruppenrichtlinie?

Content-Key: 110512

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

Printed on: April 20, 2024 at 01:04 o'clock

Member: Logan000
Logan000 Mar 04, 2009 at 12:33:56 (UTC)
Goto Top
Moin Moin

Ich würde einen deiner Server als Druckserver einrichten, die Drucker auf diesem installieren, Freigeben und diese dann mit con2prt in einem Skript nur noch verbinden.
Vorteil du sparst dir die Treiber installation auf dem Client. Das ist nur mühsam und macht keinen Spaß. face-wink

Gruß L.
Mitglied: 56547
56547 Mar 04, 2009 at 13:29:39 (UTC)
Goto Top
Hallo face-smile

Ja, mir ist schon klar das ein Printserver viele Vorteile hat und sehr wünschenswert ist. Das Problem ist nur, das ich über 20 Standorte habe und das überall machen müsste und das kann ich nicht. Ob es auch wirklich Sinn macht für 2 PCs und 2 Drucker bis 6 PCs und 3 Drucker je einen Printserver aufzustellen...

Daher meine Anfrage.
Member: Logan000
Logan000 Mar 04, 2009 at 14:22:09 (UTC)
Goto Top
Moin

Ob es auch wirklich Sinn macht für 2 PCs und 2 Drucker bis 6 PCs und 3 Drucker je einen Printserver aufzustellen...
Kommt darauf an, ob jeder standort ein Server (DC) hat. Ich vermute mal nein. Aber falls doch würde ich es genau so machen und auf jedem ein Printserver einzurichten.
Aber was hindert dich auf deinem Zentralen Server einen Printserver einzurichten?

Gruß L.
Mitglied: 56547
56547 Mar 04, 2009 at 15:56:52 (UTC)
Goto Top
Das würde doch bedeuten, die PCs senden ihre GDI-Druckdaten über das WAN zum zentralen Printserver und der wiederum zurück über das gleiche WAN zum jeweiligen Drucker.
Member: Logan000
Logan000 Mar 05, 2009 at 07:55:13 (UTC)
Goto Top
Moin Moin

Warum wuste ich das dir das nicht gefällt? face-wink
Das ist natürlich unter Performance- und Sicherheitsgesichtspunkten echter Mist. Aber was die Verwaltung der Drucker angeht, ein Doppelplus.

Ich denke die am praktikabelsten ist folgende Variante:
An jedem Standort installierst du die Treiber auf jedem PC manuell. Das ist ja nur fällig wenn ein Drucker/Pc getauscht wird oder hinzukommt. Und dann bis du evtl. sowiso vorort.
Dann richtest du jeden Drucker auf 1. PC ein und gibst ihn frei.

Dann kannst du dir ein Standort skript bauen was abhängig von %computername% den jeweils nicht eingerichteten Drucker mit con2prt verbindet.

Plan B fürs Skript: Du richtest die Drucker immer mit rundll32 printui.dll ein. Aber hier must du zum Teil vorichtig sein, denn einige dieser Befehle erfordern höhere Rechte.

Wie auch immer deine Skriptlösung aussieht, diese kannst Du dann per GPO auf den jeweiligen Standort loslassen.

Gruß L.
Mitglied: 56547
56547 Mar 05, 2009 at 08:18:46 (UTC)
Goto Top
Hallo,

Warum wuste ich das dir das nicht gefällt? face-wink
face-wink

das mit der lokalen Treiberinstallation ist vielleicht garnicht so schlimm, daran dachte ich auch. Von HP gibt es einen UPD Treiber der für nahezu alle HP-Drucker gilt.

Die Treiberinstallation könnte ich per AD Softwareinstallation verteilen, oder eben auch per Logon-Skript. Eine Variante ist das printui.dll. Da verstehe ich nur nicht so genau die Syntax. Folgendes habe ich mir aus dem Web geklaut:

rundll32.exe printui.dll,PrintUIEntry /if /b "Kyocera Mita FS-1010" /f oemsetup.inf /r "IP_%DIP%:" /m "Kyocera Mita FS-1010" /v "Windows 2000 oder XP" /q

"/if" steht für INF Installation ohne Benutzerinteraktion
"/q" für Quiet Mode
Nach "/b" kommt der Basisdruckername (was ist denn das?)
"/f" Ist ein Dateizeiger, der in diesem Kontext auf die INF-Datei zeigen soll. Beim HP-UPD Treiber gibt es aber viele davon, wie finde ich denn heraus welche ich angeben muss?
"/m" ist der Modellname. Wie finde ich denn den heraus?
Mit /r wird gleich ein Port erstellt. Das würde ich erst im zweiten Schritt machen wollen.
"/v" ist die Treiberversion. Welche Bedeutung hat das? Ist das nur dann wichtig wenn die INF Treiber für verschiedene Versionen von Windows enthält?

Ich habe AMD64 und Intel Systeme, müsste also wohl irgendwie auch noch
"/h" mit "x86" oder "x64" angeben?!

Der HP-UPD Treiber ist speziell für eine Architektur (64 oder 32 Bit). Ich müsste also vorher schon erkennen auf welchem System ich arbeite. Glücklicherweise gibt es bei uns nur Windows 2003 (virtuelle Desktops, Terminalserver) und Windows XP (Workstations) die eigentlich die gleichen Treiber verwenden.

ein. Aber hier must du zum Teil vorichtig sein, denn einige dieser
Befehle erfordern höhere Rechte.
Ja, genau das ist das Problem. Ein Logon-Skript wird halt im Kontext des Users ausgeführt. Ich müsste die Skriptgesteuerte Druckerinstallation also wohl als Computer-Anmeldeskript laufen lassen, damit es klappt?!
Ist hier vielleicht KIXtart eine Hilfe?
Member: Logan000
Logan000 Mar 05, 2009 at 09:02:13 (UTC)
Goto Top
Moin

Eine Variante ist das printui.dll. Da verstehe ich nur nicht so genau die Syntax.
Dabei werde ich dir keine große hilfe sein. Ich benutz das nur um per skript lokale Drucker als Standard festzulegen.

Ich müsste die Skriptgesteuerte Druckerinstallation also wohl als Computer-Anmeldeskript laufen lassen, damit es klappt?!
Mindestens die Treiberinstallation. Die Einrichtung eines Druckers an einem PC sollte dann auch im Userkontext funktionieren.

Auf jeden Fall soltest du Treiber installation und Einrichtung (bzw Verbinden) der Drucker trennen.

Gruß L.
Member: chips1
chips1 Mar 05, 2009 at 19:48:29 (UTC)
Goto Top
Hallo
Eventuell hilft Dir eine Option: richte die Domain-user (Standardgruppe im AD) bei den Lokalen Gruppen der Workstations in die Hauptbenutzergruppe mit ein. Dann haben die User u. a. mehr Rechte was die Drucker betrifft.
Beim mir im Netlogon gibt es ein login.cmd mit einer Zeile:
"REM Drucker beim Anmelden installieren, keine Änderung des Standard Druckers
rundll32 printui.dll,PrintUIEntry /dn /q /n \\serverxxx\Drucker12345
\\ADSERVER\netlogon\addprinternew.vbs"
Natürlich ohne Anführungszeichen. Jeder User hat einen Standarddrucker (kann/muss er sich ja selbst festlegen). Im addprinter.vbs (auch im Netlogon) was vom login.cmd angestossen wird steht z.B

DIM NETWORK

Set Network = CreateObject("Wscript.Network")
Network.AddWindowsPrinterConnection "\\Printserver\Drucker1freigabename"
Network.AddWindowsPrinterConnection "\\Printserver\Drucker2freigabename"


wobei das verschieden Printserver sein können, also bei Dir zum Beispiel irgendwelche Workstations oder Server in den Destinationen.
Die Treiber verwaltet natürlich der jeweilige Server, egal ob 64bit oder 32bit. Er muss ja nur die zusätzlichen Treiber zur verfügung stellen.
Für Vista müssen die Domain-User glaube ich sogar mindestens Hauptbenutzer sein, wegen der Treiber, die werden vom Server lokal ins Profil kopiert, soviel ich weiss.
Vorteil dieser Methode ist: Bei jeder Druckeränderung mache ich nur am zuständigen Printserver die Installation des Drucker und füge den Drucker im addprinter.vbs hinzu. Die User haben nach der nächsten Anmeldung trotzdem alle verfügbaren Drucker und ich muss nicht hinlaufen. Kleiner Nachteil ist das alle User alle Drucker haben, was den ein oder anderen ein wenig verwirrt.

Gruss Christian
Mitglied: 56547
56547 Mar 09, 2009 at 16:07:15 (UTC)
Goto Top
Hallo,

ja, ich sehe inzwischen das ich an einem Printserver nicht vorbeikomme. Die Vorteile überwiegen einfach deutlich.

Eine echte Herausforderung ist, wie und ob die User mit den vielen Druckern umgehen können. In der Regel arbeitet ein User ja immer mit den selben oder sogar nur einem einzigen Drucker. Grundsätzlich ist es für den User wünschenswert sich die Drucker mit denen er arbeiten will/muss selbst zusammenzustellen (=Benutzerprofil abhängig) und nicht durch einen Admin vorkauen zu lassen (=Login Skript).

Im Fehlerfall muss der User selbst in der Lage sein seine Druckjobs auf einen anderen Drucker umzulenken. Dies könnte man auch Serverseitig tun, ohne das der User was merkt, bzw. ändern muss.

Die Frage ist wie man es am besten für Benutzer und Helpdesk managen sollte. Welche Möglichkeiten hat denn ein User sich selbst seine "Wunschdrucker" zusammenzustellen? Etwa über die Netzwerkumgebung? Oder indem er den am Drucker befindlichen Label abtippt? (z.B. "\\server1\printer1")

Bei geplantem Druckerausfall (Reparatur/Wechsel) könnte man auf der Serverseite einfach die Warteschlange mit einem anderen Drucker verbinden und die User informieren. Dies könnte bei einer Störung auch kurzfristig durch den Support erledigt werden.
Member: Logan000
Logan000 Mar 10, 2009 at 07:48:53 (UTC)
Goto Top
Moin Moin

Eine echte Herausforderung ist, wie und ob die User mit den vielen Druckern umgehen können. In der Regel arbeitet ein User ja immer mit den selben oder sogar nur einem einzigen Drucker. Grundsätzlich ist es für den User wünschenswert sich die Drucker mit denen er arbeiten will/muss selbst zusammenzustellen (=Benutzerprofil abhängig) und nicht durch einen Admin vorkauen zu lassen (=Login Skript).
Ich würde dennoch mind. alle Drucker eines Standorts auf allen (Standort) Pc per Skript verbinden. Evtl. auch den Standard-Drucker einzustellen.

Im Fehlerfall muss der User selbst in der Lage sein seine Druckjobs auf einen anderen Drucker umzulenken.
Nach meiner erfahrung reagieren User im Fehlerfall So, das der Druckauftrag an alle verfügbaren Drucker geschickt wird. Einer wird schon drucken. face-wink

Welche Möglichkeiten hat denn ein User sich selbst seine "Wunschdrucker" zusammenzustellen?
Über Start / Drucker und Faxgeräte / Drucker hinzufügen / Netzwerkdrucker hinzufügen / Drucker im Verzeichnis suchen können die Anwender alle freigegebenene Drucker finden und verbinden.

Gruß L.