dps1991
Goto Top

Per Script lokalen Drucker im Userkontext löschen ?...!

Systemumgebung:
Windows 2003 R2 x86 Server
Windows XP SP3 Client
ADS Netzwerk
=> alle notwendigen Rechte meinerseits vorhanden

Servus @all,

ich möchte einen lokal installierten Drucker per Anmeldescript löschen. Knackpunkt ist das das Scriot im Userkontext ausgeführt werden soll, ergo keine Adminrechte.

Nun habe ich mich versucht Stück für Stück der Sache zu nähern:

Script:

runas /user:domain\adminkonto "rundll32 printui.dll,PrintUIEntry /dl /n Lexmark E360d PS3 /c\\hostname"

1. Problem: Mit runas wird der Druckernamen nicht erkannt, da dieser Leerzeichen enthält.
2. Problem: Schreibe ich den in den Druckernamen in " ", wird der runas Befehl beim 2ten " beendet.
3. Ich habe noch keine Idee wie ich das mit den Rechten machen soll.

Ich bin für jede Idee sehr dankbar, egal in welche Rcihtung Sie geht.

Content-ID: 140176

Url: https://administrator.de/forum/per-script-lokalen-drucker-im-userkontext-loeschen-140176.html

Ausgedruckt am: 22.12.2024 um 12:12 Uhr

Edi.Pfisterer
Edi.Pfisterer 08.04.2010 um 21:23:21 Uhr
Goto Top
Hallo!
versuch mal folgendes:

printer_remove.vbs
(braucht imho keine Adminrechte bin mir aber nicht sicher und kann dies von hier zu Hause aus nicht testen ...)
(mit Adminrechten hats bei mir soeben funktioniert),
strComputer = "."   
Set objWMIService = GetObject("winmgmts:" _   
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")   
Set colInstalledPrinters = objWMIService.ExecQuery _ 
("Select * from Win32_Printer where DeviceID = 'Lexmark E360d'")   
For Each objPrinter in colInstalledPrinters 
objPrinter.Delete_ 
Next 
Urheber hier

(zum entfernen von Netzwerkdruckern gibts ein anderes Skript...
on error resume next
Set Network = CreateObject("Wscript.Network")  
For i = 0 To network.EnumPrinterConnections.Count - 1
    On Error Resume Next
    network.RemovePrinterConnection network.EnumPrinterConnections.Item(i)
Next
dieses Skript habe ich im täglichen Einsatz und es funktioniert jedenfalls mit Userrechten

Hoffe, geholfen zu haben
lg
Edi
Edi.Pfisterer
Edi.Pfisterer 08.04.2010 um 21:31:05 Uhr
Goto Top
Noch etwas:

hier ist Dein Druckerskripteldorado!!! face-wink

Und: falls obiges Skript nicht mit Userrechten arbeitet, könntest Du folgendes versuchen:

aus dem Link das Skript für Rename a Printer verwenden, in einer Gruppenrichtlinie für Computer ablaufen lassen (damit die Leerzeichen verschwinden) und dann kommt Deine RunAs-Variante...

Gutes Idee?

lg
Edi
dps1991
dps1991 09.04.2010 um 09:09:12 Uhr
Goto Top
vielen Dank, aber es scheitert leider anden Adminrechten:

FM:

Fehler: Zugriff verweigert
Code: 80041003
Quelle: SWbemObjectEx

ich bin für Vorschläge sehr dankbar....
Edi.Pfisterer
Edi.Pfisterer 09.04.2010 um 09:26:54 Uhr
Goto Top
Hallo!
schade...
aber der Vorschlag mit dem umbenennen per Startskript am Computer (dh Systemkonto) + Dein RunAs MUSS funktionieren
dps1991
dps1991 09.04.2010 um 10:12:48 Uhr
Goto Top
Zitat von @Edi.Pfisterer:
Hallo!
schade...
aber der Vorschlag mit dem umbenennen per Startskript am Computer (dh Systemkonto) + Dein RunAs MUSS funktionieren

funktioniert auch wunderbar - wenn ich noch irgendwie das einegeben des Passwortes vermeiden könnte.

THX4Help
Edi.Pfisterer
Edi.Pfisterer 09.04.2010 um 10:45:03 Uhr
Goto Top
was wäre, wenn Du die User vorübergehend (bis der Drucker deinstalliert ist) in die Gruppe der Druckeroperatoren schiebst?
Ist zwar nicht die feinste Art, dürfte aber funktionieren, und viel kaputtisieren werden selbst die DAUs dadurch nicht können...

hm...
Dani
Dani 09.04.2010 um 17:44:26 Uhr
Goto Top
funktioniert auch wunderbar - wenn ich noch irgendwie das einegeben des Passwortes vermeiden könnte.
Schau dir mal dieses an...dort kannst du ein Script/Programm über den hinterlegten Account laufen lassen ohne dass der User etwas eingeben / sehen kann.


Grüße,
Dani