Netzwerkdrucker auf Client ersetzen (von alt zu neu)
Hallo miteinander,
meine Powershellskills sind leider sehr basic und ich muss für unsere Firma folgendes Szenario abbilden, wofür es mir leider einfach an Verständnis fehlt.
Sicherlich ist das für jemanden mit regelmäßiger Erfahrung kein Problem.. ich versuche mein Glück
Szenario:
Wir haben einen alten Printserver dieser kommt weg und haben einen neuen Printserver hochgezogen mit neuer Namenskonvention für die einzelnen Drucker.
Somit sind "gemappede" Drucker an einem Clientpc obsolete und müssen durch neue ersetzt werden, die im Endeffekt die identischen Geräte sind aber erreichbar unter einem neuen Namen über einen neuen Printserver
Ziel: Nach dem Switch auf den neuen Printserver soll bei jedem User/Client geprüft werden welche alten Drucker er eingebunden hat und falls positiv dann der neue Drucker hinzugefügt werden + der alte Drucker entfernt werden.
Das Script würde ich über eine GPO oder Taskscheduler dann bei jedem anmelden ausführen lassen
Zum eigentlichen:
In einer CSV stehen in 2 Spalten die Werte von den alten Druckern und dann den neuen Druckern
Deshalb dachte ich sowas wäre möglich:
$NetPrinters = Import-csv C:\Script\Druckerbenennung.csv -Delimiter ";"
foreach ($printer in $NetPrinters)
{
$alt = $printer.Alte_Bezeichnung
$neu = $printer.Neue_Benennung
IF EXIST ($alt.gls-printserverOLD.local)
THEN (Add-Printer $neu.gls-printserverNEW.local
Remove-Printer $alt.gls-printserverOLD.local)
}
Jetzt bekomm ich aber gefühlt bzgl. fast jedem Wort & Zeichen Fehlermeldungen...
hat jemand eine Idee oder kann mir sagen ob der Ansatz komplett falsch ist?
Vielen Dank für die eingesetzten Gedanken und viele Grüße
meine Powershellskills sind leider sehr basic und ich muss für unsere Firma folgendes Szenario abbilden, wofür es mir leider einfach an Verständnis fehlt.
Sicherlich ist das für jemanden mit regelmäßiger Erfahrung kein Problem.. ich versuche mein Glück
Szenario:
Wir haben einen alten Printserver dieser kommt weg und haben einen neuen Printserver hochgezogen mit neuer Namenskonvention für die einzelnen Drucker.
Somit sind "gemappede" Drucker an einem Clientpc obsolete und müssen durch neue ersetzt werden, die im Endeffekt die identischen Geräte sind aber erreichbar unter einem neuen Namen über einen neuen Printserver
Ziel: Nach dem Switch auf den neuen Printserver soll bei jedem User/Client geprüft werden welche alten Drucker er eingebunden hat und falls positiv dann der neue Drucker hinzugefügt werden + der alte Drucker entfernt werden.
Das Script würde ich über eine GPO oder Taskscheduler dann bei jedem anmelden ausführen lassen
Zum eigentlichen:
In einer CSV stehen in 2 Spalten die Werte von den alten Druckern und dann den neuen Druckern
Deshalb dachte ich sowas wäre möglich:
$NetPrinters = Import-csv C:\Script\Druckerbenennung.csv -Delimiter ";"
foreach ($printer in $NetPrinters)
{
$alt = $printer.Alte_Bezeichnung
$neu = $printer.Neue_Benennung
IF EXIST ($alt.gls-printserverOLD.local)
THEN (Add-Printer $neu.gls-printserverNEW.local
Remove-Printer $alt.gls-printserverOLD.local)
}
Jetzt bekomm ich aber gefühlt bzgl. fast jedem Wort & Zeichen Fehlermeldungen...
hat jemand eine Idee oder kann mir sagen ob der Ansatz komplett falsch ist?
Vielen Dank für die eingesetzten Gedanken und viele Grüße
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1300005609
Url: https://administrator.de/forum/netzwerkdrucker-auf-client-ersetzen-von-alt-zu-neu-1300005609.html
Ausgedruckt am: 21.04.2025 um 21:04 Uhr
10 Kommentare
Neuester Kommentar
Moin,
Wieso so umständlich?
Verteil die neuen Drucker doch einfach per GPO. Die alten Drucker wirst du recht einfach los via
ich würde die Umstellung nutzen um alte Drucker, die nicht mehr bei den Anwendern genutzt werden zu löschen. Auf deine Weise schleppst du die Altlasten ja mit.
Gruß
Doskias
Nachtrag:
Ansonsten hilft immer die Fehlermeldung, wobei eine fehlersuche schwer ist, wenn man nicht weiß wie deine CSV-Datei aufgebaut ist.
Wieso so umständlich?
Verteil die neuen Drucker doch einfach per GPO. Die alten Drucker wirst du recht einfach los via
get-printer | ? Computername -like "alter_Server" | remove-printer
ich würde die Umstellung nutzen um alte Drucker, die nicht mehr bei den Anwendern genutzt werden zu löschen. Auf deine Weise schleppst du die Altlasten ja mit.
Gruß
Doskias
Nachtrag:
Ansonsten hilft immer die Fehlermeldung, wobei eine fehlersuche schwer ist, wenn man nicht weiß wie deine CSV-Datei aufgebaut ist.

$printers = Import-csv "C:\Script\Druckerbenennung.csv" -Delimiter ";"
Get-Printer | ? Name -in $printers.Alte_Bezeichnung | %{
$newprinter = $printers | ? Alte_Bezeichnung -eq $_.Name | %{$_.Neue_Benennung}
Add-Printer -ConnectionName "\\MySuperDuperPrintServer\$newprinter"
$_ | Remove-Printer
}
Zitat von @makemydayy:
Das Problem das ich hier sehe ist dass nicht jeder User automatisch jeden Drucker gemapped bekommen soll sondern einfach nur die die er benötigt
Das Problem das ich hier sehe ist dass nicht jeder User automatisch jeden Drucker gemapped bekommen soll sondern einfach nur die die er benötigt
...und du möchtest systemseitig entscheiden welche Drucker die Kollegen benötigen?
Würde ich mir zweimal überlegen die Kollegen da zu "bevormunden".
Warum nicht einfach die zentralen Drucker sinnvoll nach Räumen/Etagen zuordnen und die Arbeitsplatzdrucker kann sich jeder selbst drum kümmern? ;)
Moin
Im einfachsten Fall werden die Rechner im AD entsprechend in OUs gegliedert und mit den OUs werden entsprechende Richtlinien mit Loopbackverarbeitung zugewiesen in der die Drucker für diesen Bereich zugewiesen werden..
So mache ich das eigentlich immer bei meinen Kunden. Läuft zuverläsisg und ist in der Verarbeitung schnell.
Oder alternativ packt man die PCs in Gruppen und richtet die Druckerzuweisung mit Zielgruppenadressierung ein.
Bei vielen Druckern ist die Variante 2 aber sicher deutlich langsamer in der Verarbeitung, weil natürlich alle Objekte verarbeitet werden und die Zielgruppenadressierung jeweils relativ viel Zeit benötigt., obwohl dann unterm Strich nur ein, zwei davon angewendet werden.
Gruß
Im einfachsten Fall werden die Rechner im AD entsprechend in OUs gegliedert und mit den OUs werden entsprechende Richtlinien mit Loopbackverarbeitung zugewiesen in der die Drucker für diesen Bereich zugewiesen werden..
So mache ich das eigentlich immer bei meinen Kunden. Läuft zuverläsisg und ist in der Verarbeitung schnell.
Oder alternativ packt man die PCs in Gruppen und richtet die Druckerzuweisung mit Zielgruppenadressierung ein.
Bei vielen Druckern ist die Variante 2 aber sicher deutlich langsamer in der Verarbeitung, weil natürlich alle Objekte verarbeitet werden und die Zielgruppenadressierung jeweils relativ viel Zeit benötigt., obwohl dann unterm Strich nur ein, zwei davon angewendet werden.
Gruß
Zitat von @dertowa:
...und du möchtest systemseitig entscheiden welche Drucker die Kollegen benötigen?
Würde ich mir zweimal überlegen die Kollegen da zu "bevormunden".
...und du möchtest systemseitig entscheiden welche Drucker die Kollegen benötigen?
Würde ich mir zweimal überlegen die Kollegen da zu "bevormunden".
Das ist doch kein Problem... Wenn es Abteilungsdrucker gibt, dann wollen die MA sicherlich den Drucker haben, der sich in Ihrer Nähe befindet!?
Warum nicht einfach die zentralen Drucker sinnvoll nach Räumen/Etagen zuordnen und die Arbeitsplatzdrucker kann sich jeder selbst drum kümmern? ;)
Vlt. weil viele MA das selber nicht auf die Reihe bekommen???
Gruß
Gerne, die hier dauert länger 
Das ganze kannst du dir ja recht einfach machen. Werte einfach für jeden User aus, welchen Drucker er hat (hast du ja schon) und schreibe das in eine Datei entweder pro User/pro Drucker. Dann legst du im AD die Gruppen für den Drucker an und fügst die User aus der Datei hinzu. Das ganze geht recht einfach mit add-adgroupmember via Powershell. Du musst dann händisch nur in der GPO die Drucker und Ad-Gruppen einmal verbinden. Fertig.
Gruß
Doskias
PS: Die 2 Stunden sind einfach aus dem bauch geschätzt. Kann auch schneller gehen oder länger brauchen. Der Hauptaufwand ist aber Fleißarbeit bei der GPO-Zuordnung und die kannst du an einen Azubi abgeben. Wenn du keinen hast, musst du selbst mal fleißig sein
Das Problem das ich hier sehe ist dass nicht jeder User automatisch jeden Drucker gemapped bekommen soll sondern einfach nur die die er benötigt (da orientiere ich mich eben an den bisher "gemappeden").
Würde ich das via GPO machen könnte ich den Abgleich doch nicht machen oder?
Doch. Das ganze nennt sich "Zielgruppenadressierung". Du musst eine AD-Gruppe pro Drucker einrichten und dann in der Konfiguration zuweisen, dass nur diese Gruppe den Drucker bekommt. In die AD-Gruppe kommen dann die User. Fertig.Würde ich das via GPO machen könnte ich den Abgleich doch nicht machen oder?
Das ganze kannst du dir ja recht einfach machen. Werte einfach für jeden User aus, welchen Drucker er hat (hast du ja schon) und schreibe das in eine Datei entweder pro User/pro Drucker. Dann legst du im AD die Gruppen für den Drucker an und fügst die User aus der Datei hinzu. Das ganze geht recht einfach mit add-adgroupmember via Powershell. Du musst dann händisch nur in der GPO die Drucker und Ad-Gruppen einmal verbinden. Fertig.
"Kategorisieren" nach Abteilungen geht leider nicht
Muss ja auch nichtDa es sich hierbei auch um knapp 100 Drucker handelt will ich nicht jeden einzeln anpacken
Bei 100 Druckern sind das halt 100 Gruppen <-> Drucker Zuordnung im AD. Aber du hast danach im AD eine schöne Übersicht welcher User welchen Drucker hat und kannst das ganze recht einfach steuern. Ja, es ist mehr Aufwand als du mit einem lokal ausführbaren auslesen und mappen Skript hast, aber es ist einmalig und (anders als ein Skript) weniger Fehleranfällig. Das Mapping per GPO ist nicht von einer Datei abhängig und kann zentral gesteuert werden. Entweder es geht, oder es geht nicht. Skriptausführungsrichtlinien, etc. können die beim Drucker Mapping via GPO nicht dazwischen funken. Ich würde (bei 100 Druckern) und dem oben genannten Skript, einfach mal die 2 Stunden investieren um das auf GPO umzustellen.Gruß
Doskias
PS: Die 2 Stunden sind einfach aus dem bauch geschätzt. Kann auch schneller gehen oder länger brauchen. Der Hauptaufwand ist aber Fleißarbeit bei der GPO-Zuordnung und die kannst du an einen Azubi abgeben. Wenn du keinen hast, musst du selbst mal fleißig sein
Zitat von @makemydayy:
Mein Vorgesetzter möchte die GPO Lösung umgesetzt haben im Rahmen eines neuen Druckerkonzepts - also hat sich das mit dem Script ohnehin erledigt.
Danke für eure Hilfe bzw. die Ideen
Mein Vorgesetzter möchte die GPO Lösung umgesetzt haben im Rahmen eines neuen Druckerkonzepts - also hat sich das mit dem Script ohnehin erledigt.
Danke für eure Hilfe bzw. die Ideen
Das Skript kannst du ja dennoch teilweise nutzen um die derzeitigen Drucker zu ermitteln und zu dokumentieren, was du bei wem einrichten musst.
Freut mich aber, das wir dir helfen konnten.
Gruß
Doskias