Batch files als Administrator starten - zusätzliches CMD Fenster
Hi,
ich lasse einige meiner Batchdateien immer mit Administratorberechtigungen laufen (via Registry Eintrag):
In einer Batchdatei verwende ich z.B..:
Wenn ich diese Batchdatei (die bereits in der Registry mit Admineintrag versehen ist) per Rechtsklick und "Als Administrator ausführen" starte
ist alles ok, es öffnet sich ein einziges CMD Fenster, welches die Befehle _inklusive_ der pipe an findstr auch nur in diesem ausführt.
Wenn ich das Ganze aber einfach nur per Doppelklick mache (es wird ja trotzdem mit erhöhten Berechtigungen ausgeführt), dann öffnet sich das
erste CMD Fenster, startet aber für das findstr ein Zusätzliches, was so nicht gewollt ist, weil das Script an dieser Stelle dann hängen bleibt.
Ist es möglich, das Ganze umzuschreiben oder anders zu gestalten, damit es nach wie vor mit administrativen Rechten läuft, aber beim Doppelklick
auch nur mit einem DOS Fenster arbeitet und damit nicht hängenbleibt?
Danke und Gruß.
ich lasse einige meiner Batchdateien immer mit Administratorberechtigungen laufen (via Registry Eintrag):
REG ADD "HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "<pfad>\<name>.bat" /t REG_SZ /d "RUNASADMIN" /f
In einer Batchdatei verwende ich z.B..:
REM ### Check if old task is still running #################
tasklist /fi "IMAGENAME eq rsync.exe" | findstr /i /c:"rsync.exe" >NUL 2>NUL
IF %errorlevel%==0 taskkill /f /fi "IMAGENAME eq rsync.exe" >NUL 2>NUL
Wenn ich diese Batchdatei (die bereits in der Registry mit Admineintrag versehen ist) per Rechtsklick und "Als Administrator ausführen" starte
ist alles ok, es öffnet sich ein einziges CMD Fenster, welches die Befehle _inklusive_ der pipe an findstr auch nur in diesem ausführt.
Wenn ich das Ganze aber einfach nur per Doppelklick mache (es wird ja trotzdem mit erhöhten Berechtigungen ausgeführt), dann öffnet sich das
erste CMD Fenster, startet aber für das findstr ein Zusätzliches, was so nicht gewollt ist, weil das Script an dieser Stelle dann hängen bleibt.
Ist es möglich, das Ganze umzuschreiben oder anders zu gestalten, damit es nach wie vor mit administrativen Rechten läuft, aber beim Doppelklick
auch nur mit einem DOS Fenster arbeitet und damit nicht hängenbleibt?
Danke und Gruß.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 169604
Url: https://administrator.de/contentid/169604
Ausgedruckt am: 18.12.2024 um 19:12 Uhr
7 Kommentare
Neuester Kommentar
Hi.
Hab's mir angeschaut und das Problem nachvollzogen. Keine Ahnung, was MS da falsch macht.
Wäre es eine Lösung, über einen Rechtklick auf die Datei zu gehen und einen Kontextmenüeintrag (hier: "Admin") zu nutzen, der das Adminkennwort übergibt? [Das Kennwort würde in der Registry stehen, man könnte jedoch die Leserechte auf den Schlüssel einschränken, falls andere den Rechner nutzen.]
--
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\Admin]
[HKEY_CLASSES_ROOT\*\shell\Admin\Command]
@="d:\\tools\\pstools\\psexec -d -u administrator -p Kennwort \"%1\""
--
Vorher müsste der lokale Admin aktiviert werden, das Kennwort auf "Kennwort" gesetzt werden und psexec.exe in den Pfad (hier d:\tools\pstools\) gelegt werden.
So funktioniert es und es kommt auch keine UAC-Abfrage.
Wenn es per Doppelklick gehen muss, bleiben zwei weitere Möglichkeiten: shims oder Tasks, beide siehe Batch dauerhaft als Administrator ausführen (windows7)
Hab's mir angeschaut und das Problem nachvollzogen. Keine Ahnung, was MS da falsch macht.
Wäre es eine Lösung, über einen Rechtklick auf die Datei zu gehen und einen Kontextmenüeintrag (hier: "Admin") zu nutzen, der das Adminkennwort übergibt? [Das Kennwort würde in der Registry stehen, man könnte jedoch die Leserechte auf den Schlüssel einschränken, falls andere den Rechner nutzen.]
--
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\Admin]
[HKEY_CLASSES_ROOT\*\shell\Admin\Command]
@="d:\\tools\\pstools\\psexec -d -u administrator -p Kennwort \"%1\""
--
Vorher müsste der lokale Admin aktiviert werden, das Kennwort auf "Kennwort" gesetzt werden und psexec.exe in den Pfad (hier d:\tools\pstools\) gelegt werden.
So funktioniert es und es kommt auch keine UAC-Abfrage.
Wenn es per Doppelklick gehen muss, bleiben zwei weitere Möglichkeiten: shims oder Tasks, beide siehe Batch dauerhaft als Administrator ausführen (windows7)
einen weiteren Rechtsklick Eintrag benötige ich nicht, da könnte ich auch gleich die Variante "Als Administrator ausführen" benutzen
Nicht ganz: psexec nutzt das Konto Administrator, somit kommt keine UAC-Abfrage. Ist schon besser als das eingebaute.Wegen ACT5: kein SQL-Server nötig. Du musst den Compatibility Administrator starten, nicht den Manager. Dass der keine .bat kann, hatte ich leider glatt vergessen.