1.4k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von
Hallo,

gib es eine einfche möglichkeit herauszufinden, ob eine batch datei gerade als admin ausgeführt wird?

habe das cmd tool "isadmin" gefunden, das ist aber ewig lahm... :/


thx,
bb

4 Antworten

0 Punkte
Beantwortet von
da eine Batch idR mit den Rechten des ausführenden Benutzers läuft, könntest du das versuchen:


@echo off
net localgroup administratoren | find /i "%username%" > nul
if not errorlevel 1 echo %username% ist Admin
if errorlevel 1 echo %username% ist kein Admin


die administratoren ggf. durch administrators ersetzen, falls BS englisch ist.
0 Punkte
Beantwortet von
also dieses "isadmin" hier geht blitzschnell

www.diamondcs.com.au/consoletools/isadmin.php


aber du hast ja nicht mal geschrieben, welches betriebssystem und welche umgebung....
0 Punkte
Beantwortet von
die administratoren ggf. durch administrators ersetzen, falls BS englisch ist.

Das heß IMMER administrators, auch mit deutschen systemen! :)


Dürfte so funktionire, werde nacher reporten.
DANke! :)
0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
Habe einen besseren Ansatz gefunden, der keine Drittsoftware erfordert: man probiert einfach, ob man etwas ausführen kann, was normalerweise nur Administratoren können.

Außerdem müsst ihr bedenken: sowohl die Administratorengruppe als auch der Administrator selbst müssen nicht so heißen - auf die Namen alleine ist nicht Verlass.

Quelle: www.computing.net/answers/programming/check-if-user-is-admin/17729.html - kann man das Installationslaufwerk defragmentieren, ist man gerade im Kontext eines Admins:
@echo off
for /f "delims=" %%a in ('2^>^&1 ^>nul defrag -a %systemdrive%') do set notadmin=%%a
if defined notadmin (
echo Keine Adminrechte :-^(
) else (
echo Adminrechte vorhanden :-^)
)
...