Namen das lokalen Administratoren per Batch auslesen
Gibt es eine möglichkeit per Batchdatei den Namen des lokalen Administrators auszulesen, wenn z. Bsp. das Adminstratorkonto umbenannt wurde?
Ich möchte wenn ein user kein adminrechte hat, ein bestimmtes tool als lokaler Admin starten.
Soweit so gut.
Arbeite hierfür an einem batchscript.
prüfe mit dem tool isadmin.exe (oder so ähnlich, hab es gerade nicht zur hand) ob der user adminrechte hat, wenn ja = ok
wenn nicht, starte das tool mit runas , als lokaler admin.
funktioniert auch, so lange der lokale admin-account nicht umbenannt wurde.
wenn es keine einfache möglichkeit gibt, heraus zufinden wie der name des lokalen admins ist,
würde mir auch eine alternative lösung reichen.
hierfür gebe ich einfach die mitglieder der lokalen gruppe Administratoren aus, mit
net localgroup Administratoren
die ausgabe gefällt mir aber nicht, ist zwar nur ein optische problem, aber wenn es auch schöner geht.
beispiel f. die ausgabe:
Aliasname Administratoren
Beschreibung Administratoren haben uneingeschr"nkten Vollzugriff auf den Computer bzw. die Dom"ne.
Mitglieder
Admin
Max
Otto
Der Befehl wurde erfolgreich ausgefhrt.
wie kann ich nur die namen anzeigen lassen, ohne den ganzen unnötigen text.
das ganze sollte aber auch auf nicht deutschen betriebssytem laufen, d.h. der text wäre z. bsp. engl., französich usw.
gruss kl_A
Ich möchte wenn ein user kein adminrechte hat, ein bestimmtes tool als lokaler Admin starten.
Soweit so gut.
Arbeite hierfür an einem batchscript.
prüfe mit dem tool isadmin.exe (oder so ähnlich, hab es gerade nicht zur hand) ob der user adminrechte hat, wenn ja = ok
wenn nicht, starte das tool mit runas , als lokaler admin.
funktioniert auch, so lange der lokale admin-account nicht umbenannt wurde.
wenn es keine einfache möglichkeit gibt, heraus zufinden wie der name des lokalen admins ist,
würde mir auch eine alternative lösung reichen.
hierfür gebe ich einfach die mitglieder der lokalen gruppe Administratoren aus, mit
net localgroup Administratoren
die ausgabe gefällt mir aber nicht, ist zwar nur ein optische problem, aber wenn es auch schöner geht.
beispiel f. die ausgabe:
Aliasname Administratoren
Beschreibung Administratoren haben uneingeschr"nkten Vollzugriff auf den Computer bzw. die Dom"ne.
Mitglieder
Admin
Max
Otto
Der Befehl wurde erfolgreich ausgefhrt.
wie kann ich nur die namen anzeigen lassen, ohne den ganzen unnötigen text.
das ganze sollte aber auch auf nicht deutschen betriebssytem laufen, d.h. der text wäre z. bsp. engl., französich usw.
gruss kl_A
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 45826
Url: https://administrator.de/contentid/45826
Ausgedruckt am: 23.11.2024 um 01:11 Uhr
6 Kommentare
Neuester Kommentar
Moin kl_A,
Am CMD-Prompt:
Als "Batch", falls es sich lohnt:
HTH Biber
[Edit] Nachtrag:
Da international wohl die Lokale Administratoren-Gruppe nicht immer "Administratoren" heißt, muss entweder noch eine Zeile vorgeschaltet werden [Denn mit "*Admin" fangen in Europa wohl alle an (?)]:
-oder-
sinnigerweise über 10 Zeilen VBS statt über eine Batchzeile gegangen werden.
(/Edit]
Am CMD-Prompt:
>for /f "delims= skip=5" %i in ('net localgroup Administratoren^|find /v "."') do @echo %i
Als "Batch", falls es sich lohnt:
::-ListLocaladmins.bat
@for /f "delims= skip=5" %%i in ('net localgroup Administratoren^|find /v "."') do @echo %%i
HTH Biber
[Edit] Nachtrag:
Da international wohl die Lokale Administratoren-Gruppe nicht immer "Administratoren" heißt, muss entweder noch eine Zeile vorgeschaltet werden [Denn mit "*Admin" fangen in Europa wohl alle an (?)]:
>for /f "tokens=1 delims=*" %a in ('net localgroup^|findstr /i "^\*Admin"') do @echo %a
Administratoren
-oder-
sinnigerweise über 10 Zeilen VBS statt über eine Batchzeile gegangen werden.
(/Edit]
Moin, kl_A,
Nachtrag:
Dieses "Set AdminSID=whatever" works as designed, sprich:
Es funktioniert natürlich, geht aber an der eigentlichen Frage voll vorbei.
Der User "Administrator", der seines Zeichens Lokaler Administrator auf der Maschine XYZ ist, hat in der Tat als SID die SID des Rechners plus eine angehängte "-500".
So weit weder Geheimnis noch Hexenwerk.
Die Localgroup "Administratoren" allerdings hat zwar einen ähnlich klingenden Namen und auch den Strich-500er-LocalAdmin als Member, aaaaaaaaaaaaaber hat als Well-Known-Sid eine andere:
Und das müsste die lokale Truppe sein, die bei "net localgroup Administratoren" angezeigt wird.
Grüße
Biber
Nachtrag:
Dieses "Set AdminSID=whatever" works as designed, sprich:
Es funktioniert natürlich, geht aber an der eigentlichen Frage voll vorbei.
Der User "Administrator", der seines Zeichens Lokaler Administrator auf der Maschine XYZ ist, hat in der Tat als SID die SID des Rechners plus eine angehängte "-500".
So weit weder Geheimnis noch Hexenwerk.
Die Localgroup "Administratoren" allerdings hat zwar einen ähnlich klingenden Namen und auch den Strich-500er-LocalAdmin als Member, aaaaaaaaaaaaaber hat als Well-Known-Sid eine andere:
SID for VORDEFINIERT\Administratoren:
S-1-5-32-544
Grüße
Biber
Moin kl_A,
Hast Recht, ich hatte überlesen, dass der Einsatz von IsAdmin.exe (oder ähnlichen) auch eine Alternative ist.
Ich war davon ausgegangen, dass Du die "Mitglieder" der LocalGroup "Administratoren" einzeln und per Namensvergleich abklapperst.
Wenn Du die Berechtigungsprüfung über ein schlichtes "IsAdmin" machst, dann ist dieser Aufruf natürlich international genug
Und der zweite Teil des Plans, dann das Tool mit der Strich-500er-AdministratorID zu starten, ist natürlich plausibel.
Mein Fehler.
Grüße
Biber
den einwand verstehe ich nicht ganz.
mein ziel ist es, wenn der angemeldete user kein lokaler admin ist,
ein tool als lokaler admin zu starten
mein ziel ist es, wenn der angemeldete user kein lokaler admin ist,
ein tool als lokaler admin zu starten
Hast Recht, ich hatte überlesen, dass der Einsatz von IsAdmin.exe (oder ähnlichen) auch eine Alternative ist.
Ich war davon ausgegangen, dass Du die "Mitglieder" der LocalGroup "Administratoren" einzeln und per Namensvergleich abklapperst.
Wenn Du die Berechtigungsprüfung über ein schlichtes "IsAdmin" machst, dann ist dieser Aufruf natürlich international genug
Und der zweite Teil des Plans, dann das Tool mit der Strich-500er-AdministratorID zu starten, ist natürlich plausibel.
Mein Fehler.
Grüße
Biber