Drucker per Powershell auf mehreren Servern installieren

Martinipi

Lt. Commander
Registriert
Nov. 2021
Beiträge
1.740
Hallo zusammen,

Ich versuche gerade per Powershell auf Terminalservern einen Drucker von einem Printserver zu installieren. Hierfür benutze ich folgenden Befehl:

Add-Printer -ConnectionName \\printserver\druckername
Allerdings bekomme ich hierbei immer folgende Fehlermeldung:
Add-Printer : Der zum Herstellen einer Verbindung mit dieser Druckerfreigabe erforderliche Treiber konnte nicht vom
Server abgerufen werden und muss manuell installiert werden.

Wenn ich den Drucker von Hand installieren will muss ich natürlich die Treiberinstallation mit administrativen Rechten erlauben.

Powershell ist mit Adminrechten ausgeführt mit dem selben Nutzer, der auch den Treiber per Hand installieren könnte.

Wenn ich versuche den Treiber mit dem Befehl
Add-PrinterDriver -Name "Druckertreiber" -InfPath "C:\Windows\System32\DriverStore\FileRepository\XXXXX\XXXXX.inf"
zu installieren kommt der Fehler
Add-PrinterDriver : Mindestens einer der für den Vorgang angegebenen Parameter enthält einen ungültigen Wert.

Nun frage ich mich, wie ich den bereits auf dem Server im DriverStore vorhandenen Treiber installieren kann, damit ich einfach den Drucker vom Printserver hinzufügen kann.

Vorgabe ist, dass kein Eingreifen mehr von Hand auf dem Server durchgeführt wird, sondern die Installation am Ende komplett per Invoke durchgeführt werden kann.

Leider bin ich was PowerShell angeht ... ein Anfänger. Könnt ihr mir ein wenig weiterhelfen?

MfG
 
Nutzt du zur verwaltung der systeme etwas fuers config management, oder passiert alles manuell?
 
Hintergrund: Wir haben einen Drucker, der für den Betrieb notwendig ist, dessen Treiber allerdings nicht mehr zertifiziert ist und deshalb regelmäßig von WindowsServer selbstständig in unregelmäßigen Abständen gelöscht wird. Nun sitzen wir regelmäßig da und fügen diesen Drucker auf hunderten von Terminalservern von Hand wieder hinzu, was viel Zeit und Manpower kostet. Stattdessen möchte ich das Powershell Script durchjagen, dass diesen Drucker einfach auf allen Terminalservern hinzufügt, wenn ich es auslöse.
 
Dafür nutzt man Gruppenrichtlinien.
Das Stichwort hier ist Point and Print oder beim deutschen Windows Punkt und Druckbeschränkungen.
Darüber legst du fest von welchem Printserver im Benutzerkontext Drucker ohne Admin Rechte installiert werden dürfen. Anleitungen dazu findest du einige über Google, ansonsten nochmal fragen.
 
  • Gefällt mir
Reaktionen: lazsniper, redjack1000, PHuV und eine weitere Person
Das ist jetzt nur geraten und aus ganz schwachen Erinnerungen, aber: muss der "DriverName" nicht dem entsprechen was als Name im inf-File steht? Irgendwas war da mal, ist aber wirklich sehr lange her...

PS: Drucker unter Windows zu verwalten ist die Pest....
 
  • Gefällt mir
Reaktionen: Martinipi
Masamune2 schrieb:
Dafür nutzt man Gruppenrichtlinien.
Das Stichwort hier ist Point and Print oder beim deutschen Windows Punkt und Druckbeschränkungen.
Darüber legst du fest von welchem Printserver im Benutzerkontext Drucker ohne Admin Rechte installiert werden dürfen. Anleitungen dazu findest du einige über Google, ansonsten nochmal fragen.
Während die Möglichkeit diese Treiber den Nutzer selbst installieren zu lassen natürlich gut klingt und das Problem halbwegs beschränken würde und ich mir anschauen werde ob ich das so mit meinen eigenen Berechtigungen anpassen kann, würde ich doch eine Lösung vorziehen, wo die Nutzer nicht selbst eine Installation durchführen müssten.
Ergänzung ()

Korben2206 schrieb:
Das ist jetzt nur geraten und aus ganz schwachen Erinnerungen, aber: muss der "DriverName" nicht dem entsprechen was als Name im inf-File steht? Irgendwas war da mal, ist aber wirklich sehr lange her...

PS: Drucker unter Windows zu verwalten ist die Pest....
Ich probiere es gleich aus und ja ist es :(

Ergebnis:
Add-PrinterDriver : Der angegebene Treiber ist nicht im Treiberspeicher vorhanden.
Ich habe das Gefühl der Lösung etwas näher zu sein :)
 
Die Frage kam mir gleich so bekannt vor ...
 
derchris schrieb:
Die Frage kam mir gleich so bekannt vor ...

Und jetzt? Bis vor ein paar Minuten gab es da keine Lösung, also schaue ich mich nach Alternativen um das Problem zu umgehen um. Was willst du damit jetzt sagen? Das ich keine Antwort verdiene, weil du auf das vorherige Problem schon keine Lösung wusstest?
 
Während die Möglichkeit diese Treiber den Nutzer selbst installieren zu lassen natürlich gut klingt und das Problem halbwegs beschränken würde und ich mir anschauen werde ob ich das so mit meinen eigenen Berechtigungen anpassen kann, würde ich doch eine Lösung vorziehen, wo die Nutzer nicht selbst eine Installation durchführen müssten.
Du hast das falsch verstanden. Der Nutzer installiert den Drucker nicht selbst, der kommt per Gruppenrichtlinie. Zusätzlich stellst du mit einer weiteren Richtlinie ein von welchen Servern Drucktreiber ohne Admin Rechte installiert werden können. Dann kannst du dir den ganzen kram mit Powershell sparen.

Computerpolicy:
Computerkonfiguration -> Richtlinien -> Administrative Vorlagen -> Drucker -> Point and Print für Pakete
Computerkonfiguration -> Richtlinien -> Administrative Vorlagen -> Drucker -> Point and Print Einschränkungen
Hier deinen Server angeben und "Warnung oder Anhebungsanforderung nicht anzeigen" auswählen

Userpolicy:
Benutzerkonfiguration -> Einstellungen -> Systemsteuerungseinstellungen -> Drucker
Hier die freigegebenen Drucker des Printservers an die User verteilen

So macht man das eigentlich dann bekommt jeder User beim Anmelden seine Drucker zugewiesen.
 
Masamune2 schrieb:
Hier deinen Server angeben und "Warnung oder Anhebungsanforderung nicht anzeigen" auswählen
Ich meine mich zu erinnern, dass diese Einstellung bei einem Kunden dazu geführt hat, dass die Installation des Druckers immer fehlschlug. Selbst über die GUI.
Windows brauchte Admin Rechte zum installieren und hat selbst Administratoren den UAC Prompt nicht gezeigt, sondern einfach einen Fehler geworfen.

Die anderen Hinweise, insbesondere das festlegen des Drucker Servers für Point and Click Installation als vertrauenswürdig, sollten helfen.
 
Martinipi schrieb:
Nun frage ich mich, wie ich den bereits auf dem Server im DriverStore vorhandenen Treiber installieren kann, damit ich einfach den Drucker vom Printserver hinzufügen kann.

Vorgabe ist, dass kein Eingreifen mehr von Hand auf dem Server durchgeführt wird, sondern die Installation am Ende komplett per Invoke durchgeführt werden kann.
Martinipi schrieb:
Ich habe das Gefühl der Lösung etwas näher zu sein :)

Benutzt du einen Typ 3 oder Typ 4 Druckertreiber?
 
Typ 3 und 4 funktionieren beide noch.
Typ 4 ist einfacher zu installieren, aber soweit ich weiß basieren die alle auf XPS. Manche wollen lieber PS oder PCL.

Typ 3 per GPO zu verteilen ist definitiv mit 2 oder 3 GPO Einstellungen möglich.
 
Ich meine mich zu erinnern, dass diese Einstellung bei einem Kunden dazu geführt hat, dass die Installation des Druckers immer fehlschlug. Selbst über die GUI.
Ich habe das bei mehreren Kunden so laufen und es funktioniert, wobei ich auch sagen muss das es in den letzten Monaten immer mal wieder Probleme mit der Funktion gab als Nebenwirkung der Fixes von Microsoft gegen die Printnightmare Lücken.
 
In Kombination mit der Einstellung für vertrauebnswürdige Server sollte es auch funktionieren, da dann keine Anforderung von Admin Rechten erfolgt.
Der Kunde hatte aber seine Server nicht richtig eingetragen und Windows wollte für die Treiber Installation Admin Rechte, durfte aber den UAC Dialog dafür nicht einblenden. Und das auch bei Benutzern die Administratoren waren. Das hat die etwas irritiert ;)

Inzwischen halte ich die Unterdrückung der Warnungen und Dialoge aber für nicht sinnvoll. Wenn alles funktioniert sollte keine Warnung oder Aufforderung kommen und wenn es Probleme gibt will ich, dass der Benutzer mir eine Warnmeldung zeigen kann.
Daher lasse ich den Punkt bei der Konfiguration inzwischen lieber weg.
 
Zurück
Oben