Batch Win 7 Druckertreiber bestätigen

Dreadslayer

Lt. Junior Grade
Registriert
Feb. 2008
Beiträge
314
Hallo

Ich habe folgende Batch-Datei geschrieben, welche alle potentiell möglichen Druckerverknüpfungen (prt1-63) zum Printserver löscht und dann die Angegebenen (Parameter) wieder hinzufügt:

Code:
@echo off

set i=1
:del
set /a i=%i%+1
echo Deleting prt%i%...
rundll32 printui.dll,PrintUIEntry /q /dn /n \\prtserver\prt%i%
IF NOT %i% == 63 ( goto del )

for %%i IN (%1 %2 %3 %4 %5 %6 %7 %8 %9) DO IF NOT "%%i" == "" (
   echo Adding prt%%i...
   rundll32 printui.dll,PrintUIEntry /q /in /n \\prtserver\prt%%i
)

IF NOT "%1" == "" (
   rundll32 printui.dll,PrintUIEntry /q /y /n \\prtserver\prt%1
   echo prt%1 set as the default.
)

exit

Unter WinXP gibt es damit überhaupt keine Problem. Bei Win7 jedoch muss man, falls der entsprechende Druckertreiber auf dem Client nicht vorhanden ist, die Treiberinstallation manuell bestätigen (Popup "Do you trust this printer?"). Gibt es irgendeine Möglichkeit, auch diese Bestätigung zu automatisieren oder direkt die Erlaubnis mit dem Befehl zu erteilen?

Über Hilfe würde ich mich freuen!

MfG
Dread
 
Zuletzt bearbeitet:
Hallo

Ich würde es an deiner Stelle mal mit dem Zusatz "runas" probieren. Hier mal dann dein angepasstes Skript. Natürlich solltest du statt <root> einen Benutzernamen einfügen der existiert und Adminrechte hat:

@echo off

set i=1
:del
set /a i=%i%+1
echo Deleting prt%i%...
runas /noprofile /user:<root> rundll32 printui.dll,PrintUIEntry /q /dn /n \\prtserver\prt%i%
IF NOT %i% == 63 ( goto del )

for %%i IN (%1 %2 %3 %4 %5 %6 %7 %8 %9) DO IF NOT "%%i" == "" (
echo Adding prt%%i...
runas /noprofile /user:<root> rundll32 printui.dll,PrintUIEntry /q /in /n \\prtserver\prt%%i
)

IF NOT "%1" == "" (
runas /noprofile /user:<root> rundll32 printui.dll,PrintUIEntry /q /y /n \\prtserver\prt%1
echo prt%1 set as the default.
)

exit

Sollte sich damit dein Problem nicht lösen lassen, dann würde ich eventuell noch die "Einstellungen für Benutzerkontensteuerung" anpassen. Damit lässt sich einstellen in wieweit du bei änderungen von Programmen, die änderungen vornehmen wozu sie administratorrechte brauchen, zur bestätigung aufgefordert wirst. Diese Einstellungsmöglichkeit findest du hier:

Systemsteuerung > Benutzerkonten > Einstellungen der Benutzerkonteneinstellungen ändern

Stell es doch probeweise auf "Nie benachrichtigen" um zusehen ob sich damit dein Problem löst.

Ich hoffe doch, dass ich dir weiterhelfen konnte.
 
Herzlichen Dank für Deine Antwort Bl4ckbyt3.

Eigentlich war ich schon als Admin eingeloggt beim Ausführen, aber ich werde es morgen trotzdem versuchen!

Die Änderung dieser Einstellung würde ja aber ein zusätzliches Sicherheitsrisiko bedeuten, welches ich im Grunde nicht eingehen möchte. Gibt es evtl. ein Batch-Befehl, um diese Einstellung vor der Ausführung auf "nie Benachrichtigen" zu setzen und nachher wieder zurück?
 
Soweit ist mir kein Befehl bekannt um diese "Benachrichtigung" kurzfristig, für einen Prozess, auszuhebeln.
 
Wenn man es logisch durchdenkt, bliebe es sich ja gleich, ob du die Sicherheitsrichtlinie manuell deaktivierst oder es jeder durch einen einfachen Batchbefehl kann, Sicherheit hast du dann dadurch sowieso keine mehr :)
 
Nicht ganz, zumal die Deaktivierung per Script nur für einen kurzen Moment wäre. Manuell müsste ich für alle Clients, auf denen ich das Script verwenden möchte, diese Sicherheitsrichtlinie dauerhaft entfernen.
 
Naja, es geht ja darum, wenn du über ein Script diese Sicherheitsrichtlinie deaktiveren könntest, dann könnte das auch jeder beliebige Angreifer über ein Script tun. Und dann hätte die Sicherheitsrichtlinie ja keinen Sinn mehr, weil man sie ja sofort umgehen kann :) Deshalb würde es schon von der Logik her keinen Sinn machen, das zu können


so long
 
Zurück
Oben