badger
Goto Top

Entfernen von Drucker mittels Script führt zum Zusammensturz der Anzeige Geräte und Drucker

Hallo Leute,

ich habe folgendes Problem:
Unsere Drucker werden mittels GPO verteilt. Da sich nun unsere Serveradresse geändert hat, wollte ich die (alten) Drucker mittels PS (Logon) Script löschen.
Das funktioniert auch soweit.
Nur verträgt das Löschen die Systemsteuerung - Geräte und Drucker gar nicht.
Hier werden immer noch die Drucker angezeigt. Unter Word aber z.b. nicht nicht mehr.

Irgendwo wird hier eine Datei gecrasht, die sich auf alle Benutzer auswirkt. Denn wenn ein Benutzer (bei dem die Drucker nicht mittels Script gelöscht wurden) nun manuell einen Drucker entfernen will geht dies zwar. Aber im Gegenzug erstellt die Anzeige "Geräte und Drucker" sofort wieder 3 neue Drucker mit dem Namen des gelöschten Druckers.

Die Lösungsansätze die man im Inet annähernd zu diesem Thema findet greifen bei mir nicht:
So liefert "sfc /scannow" keine Fehler und auch ist kein Bluetooth o.ä. vorhanden.

Habe sowohl auf meinem Terminalserver (2012) als auch auf Clientrechner (Win 8) das selbe Problem.


Wäre über jede Hilfe dankbar.

Patrick

Content-ID: 222256

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

Ausgedruckt am: 22.11.2024 um 15:11 Uhr

ollioe
ollioe 18.11.2013 um 16:10:37 Uhr
Goto Top
Hallo Patrick,
ich kenne nun PS selber nicht, nutze aber folgendes VBS Script erfolgreich per GPO Logon Script:

strComputer = "."

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * From Win32_Printer Where Network = True")

For Each objPrinter in colInstalledPrinters
objPrinter.Delete_

Next


Den Inhalt einfach in eine Textdatei, als VBS speichern und im Logon verknüpfen, funktioniert bei uns unter Citrix und Windows einwandfrei.
Dadurch werden nur die Netzwerkdrucker, keine lokalen Drucker gelöscht.


lg Olli
Badger
Badger 18.11.2013 um 16:20:47 Uhr
Goto Top
Hallo Olli,

danke dir für dein Script.
"Mein" Script:
 Get-WMIObject Win32_Printer | where{$_.Network -eq 'true'} | foreach{$_.delete()}  
löscht die Drucker eigentlich auch einwandfrei. Allerdings kommt eben die die Sytemsteuerung dabei nicht mit. Und ich habe keinen Plan warum das so ist.

Habe bei deinem Script leider genau das gleiche Problem.
ollioe
ollioe 18.11.2013 um 16:25:10 Uhr
Goto Top
Es kann vorkommen dass während das Script abgearbeitet wird die neuen Drucker per GPO eingebunden werden, das führt zum Crash.
Abhilfe wäre dann das Script beim Logoff laufen zu lassen, ad hoc habe ich leider keine bessere Idee.
Badger
Badger 18.11.2013 aktualisiert um 16:35:27 Uhr
Goto Top
Habe auch schon probiert, dass ich die Verteilung per GPO abschalte und die Drucker durch einen manuellen Start des Scripts lösche.
Leider genau das gleiche Ergebnis!
ollioe
ollioe 18.11.2013 um 16:38:00 Uhr
Goto Top
Als Logoff Script haben wir überhaupt keine Probleme mit dem Script, bei erneutem Logon sind alle Drucker entfernt.
Da bleibt wohl nur die Aufarbeitung des Eventlog oder einzeln die Drucker per GPO zu entfernen, sprich jeden Drucker in der GPO löschen lassen der den alten Eintrag hat
Badger
Badger 18.11.2013 um 16:59:18 Uhr
Goto Top
Das Problem ist, dass er die Drucker nicht mehr entfernen kann, da sie ja schon weg sind.
Sowohl Win32_Printer liefert keine Drucker als auch alle möglichen Programme (Excel, Word, Notepad,...) liefern keine Drucker.
Nur die Systemsteuerung zeigt die Drucker noch an.

Habe mir auch schon das Eventlog angesehen. Auch keine Fehler odgl. diesbezüglich zu finden.
ollioe
ollioe 18.11.2013 um 17:12:15 Uhr
Goto Top
Richtig, nicht mehr verbundene Drucker sind nicht in WMI enthalten.
Diese stehen im Userteil der Registry.
Saubere Lösung: die alte GPO nehmen und dort die Aktion Erstellen oder aktualisieren des jeweiligen alten Drucker auf löschen stellen.
Badger
Badger 18.11.2013 um 17:29:41 Uhr
Goto Top
Werde ich nachher dann gleich probieren. Danke dir.
Habe es Anfangs (bevor ich es mit dem Script probierte) bereits über die GPO probiert, so wie du es beschreibst. Allerdings wurden dann (beim gleichzeitigen löschen und hinzufügen der neuen Drucker) nicht alle Drucker hinzugefügt. Darum suchte ich mir hier eine Alternative.

Aber was mich dennoch stutzig macht:
Warum tritt das Problem auch bei Usern auf, bei denen die GPO (zur Druckerverteilung) gar nicht greift? Ich habe mit dem Admin-User genau das selbe Problem, dass er zwar Drucker löschen kann, im Gegenzug aber wieder sofort 2/3/4 neue erstellt werden.
Badger
Badger 18.11.2013 um 17:32:25 Uhr
Goto Top
Gerade nachgeschaut: Unter "HKEY_CURRENT_USER > Printers > Connections" sind keine Drucker angeführt. Trotzdem sind welche in der Systemsteuerung zu finden.
ollioe
ollioe 18.11.2013 um 17:33:18 Uhr
Goto Top
Die Problemstellung verstehe ich nicht so wirklich.
Drucker werden ohne Zuweisung angelegt?
Badger
Badger 18.11.2013 um 17:38:32 Uhr
Goto Top
Ja, genau das ist mein Problem! face-smile
Seit ich Drucker per Script gelöscht habe (nur bei einem einzigen Testuser) spinnt bei allen (TerminalUsern) die Systemsteuerung - > Geräte und Drucker. (Und gleich vorweg: an dem Script kann es nicht liegen - das stimmt so)

Dort werden Drucker angezeigt, die gar nicht zugewiesen wurden und wenn man diese löscht, fügt MS im Gegenzug einige Drucker mit exakt dem gleichen Namen wieder hinzu. Und diese Drucker sind einfach nirgends da (weder Registry, noch WMI, noch sonst noch wo). Außer eben in der Systemsteuerung.
Badger
Badger 18.11.2013 um 17:45:05 Uhr
Goto Top
EDIT:
Bzw. werden tlw. Drucker angelegt, auf denen man nicht mal theoretisch drucken könnte. Denn bei einem Rechtsklick auf dem sind im Kontextmenü nur die Punkte "Verknüpfung erstellen", "Gerät entfernen" und "Eigenschaften" zu finden. Punkte wie "Druckaufträge anzeigen", "Standarddrucker",... sucht man da vergebens...
UselessUser
UselessUser 18.11.2013 um 17:54:28 Uhr
Goto Top
Hallo Badger,

hast du schon einmal in diesem Registry-Schlüssel nachgeschaut:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers

MfG, Useless
ollioe
Lösung ollioe 18.11.2013, aktualisiert am 13.02.2014 um 10:14:27 Uhr
Goto Top
Die TSS zieht den Drucker vom anmeldenden Client. Dort ist der Drucker als Leiche zu löschen. Gleiches Spiel hatten wir unter TS von Citrix aus.
Meine Lösung war die zu löschenden Drucker hinter die zu mappenden zu packen. Also numerisch höher. Seltsam aber funktioniert.
Badger
Badger 18.11.2013 um 18:53:10 Uhr
Goto Top
Zitat von @UselessUser:

Hallo Badger,

hast du schon einmal in diesem Registry-Schlüssel nachgeschaut:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers

MfG, Useless

Hallo Useless,

da ist genau nur der XPS Drucker angegeben.
Badger
Badger 18.11.2013 um 19:08:31 Uhr
Goto Top
So: ich bin jetzt einen Schritt weiter:
Und zwar waren diese Drucker die immer wieder erstellt wurden die Drucker von anderen Benutzern!!!

Wenn ich als Admin angemeldet war, war (wie oben beschrieben) nach dem löschen eines Druckers sofort dieser wieder in x-facher Ausführung vorhanden.
Beim Drucker unter Hardware - Ort konnte ich dann sehen, dass hier verschiedenste User angegeben waren.
Ich habe nun bei diesen Usern diesen Drucker entfernt und anschließend mittels GPO wieder hinzufügen lassen.
Und schon ist das Problem gelöst. Zumindest vorerst. Mal sehen wie es morgen ausschaut, wenn sich wieder alle angemeldet haben...

Aber kann mir bitte irgendwer sagen, wie so etwas sein kann????

Jetzt muss nur noch irgendwie das löschen mittels GPO gehen face-smile
Badger
Badger 18.11.2013 um 19:49:54 Uhr
Goto Top
Zitat von @ollioe:

Die TSS zieht den Drucker vom anmeldenden Client. Dort ist der Drucker als Leiche zu löschen. Gleiches Spiel hatten wir unter
TS von Citrix aus.
Meine Lösung war die zu löschenden Drucker hinter die zu mappenden zu packen. Also numerisch höher. Seltsam aber
funktioniert.

Genau so funktioniert es: Ales erst die neuen Drucker in der Liste - dann die zu löschenden!
Danke dir!

Auf das muss man auch erst mal kommen face-smile