Jump to content

suche Script um Netzwerkdrucker mit "Drucker nicht gefunden" zu löschen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo zusammen!

Nachdem Microsoft 2017(?) in den GPO´s die Zuweisung der Drucker per User gestrichen hat, musste ich Scripte anlegen, die mir die Netzwerkdrucker verbinden. (oder habe ich was verpasst?)

Die Richtlinie unter Computer funktioniert leider nicht für Drucker ohne IP (PDF-Creator z.B.).

Leider musste ich den Druckernamen ein paar mal ändern, so dass sich auf den Clients mehrere Netzwerk-Drucker befinden, die den Freigabenamen nicht mehr finden.

Diese würde ich gerne automatisch entfernen lassen ohne dass dabei der Standarddrucker gelöscht wird (es sei denn es ist ein Offline-Drucker).

Also ich möchte nach Möglichkeit nicht ALLE Drucker zuerst löschen um dann das Script abarbeiten zu lassen.

Ich dachte es mir so: durchsuche alle lokalen Netzwerkdrucker und finde die mit Status "Drucker nicht gefunden, keine Verbindung" - es sei denn es ist ein (ausgeschalteter) USB-Drucker... Diese lösche mir bitte.

Bis jetzt habe ich noch keine WMI-Abfrage gefunden, die mir diesen Status ausgeben könnte...

Verbunden werden die Drucker via Anmeldescript mit rundll32.exe printui.dll,PrintUIEntry /in /n "\\Server1\Printer1"

Als letzte Idee wäre ein Script, welches sich erst den Standarddrucker merkt, dann alle Netzwerkdrucker löscht, neu verbindet und den Standarddrucker wieder setzt. Da aber jeder zugewiesene Drucker ein eigenes Anmeldescript bekommen hat ist das eher Kontraproduktiv.

Gibt es hierfür eine Lösung?

Grüße René

 

Link zu diesem Kommentar

Ich selbst habe da keine Erfahrung, aber hast Du denn schon mal danach gesucht? Hast Du denn schon ein paar Zeilen Code, die Du hier zeigen kannst? So ganz von Null auf Hundert wird Dir hier vermutlich auch niemand eine Lösung liefern können/wollen. 

 

Ich hab nach ganz kurzer Suche das hier gefunden ... damit kann man ja schon mal anfangen zu spielen

 

https://docs.microsoft.com/en-us/powershell/scripting/samples/working-with-printers?view=powershell-7

bearbeitet von BOfH_666
Link zu diesem Kommentar

Hi,

 

ggfs. kommst du schon mit Get-Printer zurecht:

Get-Printer | where { $_.PrinterStatus -eq "Offline" }

Da müsstest du eben nur ein wenig noch in Richtung USB bzw. lokalem Drucker oder Netzwerk filtern und dann entsprechend mit Remove-Printer löschen.

 

Generell würde ich Drucker weder per GPO verteilen noch per Script. Sowas sollte ein User sich selber und nach Bedarf einrichten bzw. verbinden können.

 

Gruß

Jan

Link zu diesem Kommentar

@testpersonHatte ich auch gehofft. Aber der Drucker hat nicht den Status "Offline"..

@BOfH_666Damit ist auflisten aller Drucker möglich, aber mir fehlt der Status "Drucker nicht gefunden" von Windows 10...

 

Ich muss mich korrigieren. Habe es jetzt nach langer Zeit mit der Benutzer-GPP probiert. Mein Denkfehler war die Filterung. Die Richtlinie braucht den Zugriff "authentifizierte Benutzer". Da ich aber nur die entsprechenden User hier eingetragen hatte, war der Eintrag für die Drucker anscheinend wirkungslos. Die Filterung der User übernehme ich nun über Zielgruppen, was recht umständlich ist jeden User einzeln einzutragen und mit "Or" zu verknüpfen...

 

Bleibt nun noch die Bereinigung der alten Netzwerkdrucker mit dem Problem des Standarddruckers.

Link zu diesem Kommentar
vor 3 Minuten schrieb rt1970:

@BOfH_666Damit ist auflisten aller Drucker möglich, aber mir fehlt der Status "Drucker nicht gefunden" von Windows 10...

... da muss ich dann wieder passen ... so einen Status kenne ich nicht.

vor 3 Minuten schrieb rt1970:

Bleibt nun noch die Bereinigung der alten Netzwerkdrucker mit dem Problem des Standarddruckers.

Bei einem meiner Kunden ist die Windows 10 Standard-Einstellung aktiv - "Windows verwaltet den Standard-Drucker". Da gibt es dann quasi keine Eigenschaft "Standard-Drucker", die man auslesen oder beeinflussen könnte.  Nur so als Hinweis.  ;-) 

Link zu diesem Kommentar
vor 2 Stunden schrieb BOfH_666:

Bei einem meiner Kunden ist die Windows 10 Standard-Einstellung aktiv - "Windows verwaltet den Standard-Drucker". Da gibt es dann quasi keine Eigenschaft "Standard-Drucker", die man auslesen oder beeinflussen könnte.  Nur so als Hinweis.  ;-) 

Das habe ich als erstes deaktiviert... Verwirrt die Leute nur, da Anwendungen auf den Standard-Drucker drucken. Wenn der sich ändert (wollen) die Leute nicht wissen wie man den Standard-Drucker definiert...

Und mich verwirrt es auch, weil ich (noch) keine Ahnung habe, wie das funktionieren soll und ich darauf Einfluss nehmen kann... ?

 

Gibt es tatsächlich keine Möglichkeit "Netzwerkdrucker-Leichen" zu entsorgen (zu lassen)?

Link zu diesem Kommentar
vor 4 Stunden schrieb rt1970:

Nachdem Microsoft 2017(?) in den GPO´s die Zuweisung der Drucker per User gestrichen hat, musste ich Scripte anlegen, die mir die Netzwerkdrucker verbinden. (oder habe ich was verpasst?)

Bist Du sicher? Ich kann das nicht sehen und noch weniger glauben, dass MS das gestrichen haben soll. Welche genaue Einstellung meinst Du? Per GPP geht es immer noch.

Link zu diesem Kommentar

@BOfH_666

Das kann gut sein. Aber alle Abfragen die ich bisher gemacht habe deuteten nicht darauf hin, dass es Unterschiede gibt. Status z.B. war bei beiden identisch

 

@Sunny61

Ich hatte mich schon weiter oben ☝ korrigiert.

MS hatte damals die Berechtigungen in der GPP auf Druckerzuweisungen geändert.

Ich hatte derzeit die Druckerzuweisungen mit dem Sicherheitsfilter der Richtlinie bewerkstelligt dann dort nur die entsprechenden User eingetragen und "authentifizierten Benutzer" gelöscht. Das ging dann nicht mehr und die Drucker wurden nicht mehr zugewiesen.

Link zu diesem Kommentar
vor 4 Stunden schrieb BOfH_666:

Vielleicht fängst Du's falsch an. Wenn Du alle lokalen und korrekt verbundenen Netzwerkdrucker identifizieren kannst, dann muss der Rest ja zu den "Leichen" gehören .... oder?

Mir gefällt die Art wie Du denkst! Der Ansatz ist nicht schlecht!

Bekannt sind ja die Drucker, die es gibt und alle anderen Netzwerkdrucker auf dem PC können gelöscht werden...

Danke! Der Ansatz klingt Super!

Link zu diesem Kommentar
vor 2 Stunden schrieb rt1970:

MS hatte damals die Berechtigungen in der GPP auf Druckerzuweisungen geändert.

Ich hatte derzeit die Druckerzuweisungen mit dem Sicherheitsfilter der Richtlinie bewerkstelligt dann dort nur die entsprechenden User eingetragen und "authentifizierten Benutzer" gelöscht. Das ging dann nicht mehr und die Drucker wurden nicht mehr zugewiesen.

Diese Änderung fand im Juni 2016 statt, es jährt sich in diesen Tagen schon wieder. ;) Aufmerksam lesen und das/die GPO(s) anpassen, schon läuft wieder alles wie vor Juni 2016. https://www.gruppenrichtlinien.de/artikel/sicherheitsfilterung-neu-erfunden-ms16-072-patchday-14062016/

 

Link zu diesem Kommentar

Danke für den Link. Der beschreibt genau diese Umstellung. Und richtig: vor 4 Jahren und 6 Tagen war der besagte Patchday ? -> herzlichen Glückwunsch ?

Das ist aber nicht mehr mein Problem nachdem ich mich nochmals in diese Änderung eingelesen hatte.

Danach habe ich entschieden, dass ich eine Richtlinie mit allen Druckern anlege und jeden Drucker über Zielgruppen filtere.

Geht - wie ich finde - super, wenn man entsprechende Security-User-Gruppen anlegt (pro Drucker eine), dann hält sich der Aufwand für die Einrichtung in Grenzen.

 

Bleibt nur noch: meinen Murks zwischendurch auf den Clients wieder zu bereinigen... ?

Link zu diesem Kommentar

Geht doch IMO recht einfach.  Entweder per mittels Script in eine Freigabe alle Drucker pro User in eine Logdatei ausgeben oder gleich zu Beginn beim Login jeden Drucker auf dem Client löschen und im zweiten Schritt neu anlegen.

 

Wenn per Script, dann die Logdateien auslesen und gezielt die Drucker löschen. Sind es wirklich viele Drucker oder nur ein paar?

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...