
56547
04.03.2009, aktualisiert um 12:37:38 Uhr
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?
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?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 110512
Url: https://administrator.de/forum/lokale-drucker-per-logon-skript-erstellen-110512.html
Ausgedruckt am: 04.04.2025 um 14:04 Uhr
10 Kommentare
Neuester Kommentar
Moin
Aber was hindert dich auf deinem Zentralen Server einen Printserver einzurichten?
Gruß L.
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.
Moin Moin
Warum wuste ich das dir das nicht gefällt?
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.
Warum wuste ich das dir das nicht gefällt?
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.
Moin
Auf jeden Fall soltest du Treiber installation und Einrichtung (bzw Verbinden) der Drucker trennen.
Gruß L.
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.
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
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
Moin Moin

Gruß L.
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. 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.