kinnley
Goto Top

Druckertreiber löschen (Windows 7 Client in Active Directory Umgebung)

Hallo Zusammen,

ich komme bei folgendem Thema nicht weiter:
Unsere Drucker sind über printserver freigegeben und werden dann von den Clients gezogen. Dabei wird auch der Treiber vom Server übernommen. Wenn man nun einen Drucker löscht bleibt der lokale Treiber allerdings vorhanden, jedenfalls wird bei einer Neuinstallation desselben Druckers kein Treiber mehr benötigt.
Ich möchte nun gerne diesen Treiber löschen, habe aber dazu keine Lösung gefunden. rundll32 printui.dll,PrintUIEntry /dd /m „Name_Druckertreiber“ /q findet den Treiber nicht (habe den Namen aus den Druckereigenschaften), unter HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64 ist zwar der Treiber vorhanden, aber wenn ich den Schlüssel lösche werden die Treiber weiterhin gefunden, der Schlüssel wird nicht einmal neu angelegt.

Frage daher: Wie kann ich einen Druckertreiber wieder vom Client entfernen? Habe ich für die rundll32 den falschen Namen genutzt?

Content-Key: 364747

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

Printed on: April 26, 2024 at 05:04 o'clock

Member: xbast1x
xbast1x Feb 14, 2018 at 10:50:17 (UTC)
Goto Top
*interessiert*
Member: chgorges
Solution chgorges Feb 14, 2018 updated at 12:52:25 (UTC)
Goto Top
Auf dem Client printmanagement.msc als Administrator öffnen, deinen lokalen Druckserver aufklappen, Menüpunkt "Treiber" auswählen, Rechtsklick -> Treiberpaket entfernen
printmanagement

Die Verifizierung erfolgt dann auf der Kommandozeile mit pnputil.exe. Damit kannst du den Windows-DriverStore durchstöbern und INF-Treiberdateien löschen.

Und in der Registry rumpfuschen ist hier der denkbar schlechteste Weg.
Mitglied: 135333
135333 Feb 14, 2018 updated at 15:04:04 (UTC)
Goto Top
Mit Powershell z.B.
param(
    [parameter(Mandatory=$true)][string]$drivername
)
gwmi win32_PrinterDriver -Filter "Name like '$drivername,%'" | %{  
    $data = $_.Name.split(',',3)  
    write-host "Removing printer driver '$drivername' ..." -F Green  
    rundll32 printui.dll,PrintUIEntry /dd /m "$($data)" /h "$(@{$true='x86';$false='x64'}[($data[2] -match 'x86')])" /v $data[1]  
}
Script dann den exakten Treibernamen übergeben:
.\removedriver.ps1 "Epson AL-2600"
Habe ich für die rundll32 den falschen Namen genutzt?
Vermutlich ja, denn dort steht er mit Komma getrennt von der Usermode-Property und der Architektur.

Gruß Snap
Member: kinnley
kinnley Feb 14, 2018 at 16:32:24 (UTC)
Goto Top
Mit der registry war auch nur ein Test um dem Ganzen überhaupt auf die Spur zu kommen. Die printmanagement.msc hatte ich nicht auf dem Radar, vielen Dank für den Tipp!
Member: xbast1x
xbast1x Feb 15, 2018 at 06:58:23 (UTC)
Goto Top
Zitat von @chgorges:

Auf dem Client printmanagement.msc als Administrator öffnen, deinen lokalen Druckserver aufklappen, Menüpunkt "Treiber" auswählen, Rechtsklick -> Treiberpaket entfernen
printmanagement

Die Verifizierung erfolgt dann auf der Kommandozeile mit pnputil.exe. Damit kannst du den Windows-DriverStore durchstöbern und INF-Treiberdateien löschen.

Und in der Registry rumpfuschen ist hier der denkbar schlechteste Weg.


Verstehe ich das richtig, wenn ich das auf dem Druckserver ausführe, löscht er dann ebenfalls alle Treiber auf den Clients?
Mitglied: 135333
135333 Feb 15, 2018 updated at 07:09:36 (UTC)
Goto Top
Nein.