admin gruppe auslesen
Hallo,
ich möchte aus der lokalen administrator gruppe einen bestimmten user abfragen.Sollte dieser nicht vorhanden sein, will ich das es in ein log fiel geschrieben wird.
Also so ungefär:
So geht das ja ned.
if exist net localgroup administratoren | find /I "domain\user1" goto ende
echo user nicht vorhanden >> \\share\log.txt
:ende
Aber wie mache ich die if anweisung?
ich möchte aus der lokalen administrator gruppe einen bestimmten user abfragen.Sollte dieser nicht vorhanden sein, will ich das es in ein log fiel geschrieben wird.
Also so ungefär:
So geht das ja ned.
if exist net localgroup administratoren | find /I "domain\user1" goto ende
echo user nicht vorhanden >> \\share\log.txt
:ende
Aber wie mache ich die if anweisung?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 107101
Url: https://administrator.de/forum/admin-gruppe-auslesen-107101.html
Ausgedruckt am: 23.12.2024 um 10:12 Uhr
4 Kommentare
Neuester Kommentar
Moin nasham2 und die anderen,
Und dieses (weitgehend) sprachunabhängige - wenn es nicht gerade Chinese traditional wird -
bekäme man/frau mit einem Oneliner am Cmd-prompt so hin:
As is wird auf den angemeldeten Usernamen ("%userdomain%\%username%") geprüft.
Dort sollte natürlich auf den zu prüfenden User geändert werden.
Gruß
Biber
Zitat von @stolaf:
Zu beachten ist, den richtigen Namen der Admingruppe in der
jeweiligen Landessprache zu ermitteln (Administratoren, Administrators etc.)
Zu beachten ist, den richtigen Namen der Admingruppe in der
jeweiligen Landessprache zu ermitteln (Administratoren, Administrators etc.)
Und dieses (weitgehend) sprachunabhängige - wenn es nicht gerade Chinese traditional wird -
bekäme man/frau mit einem Oneliner am Cmd-prompt so hin:
for /f "delims=* tokens=1" %a in ('net localgroup^|find "Adm"') do @net localgroup "%a"|find /i "%userdomain%\%username%">nul && @echo Der ist in der lokalen Admingruppe!
Dort sollte natürlich auf den zu prüfenden User geändert werden.
Gruß
Biber
Damit es auch unter Thai, Suahelisch etc. funktioniert
@echo off
Echo Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") >%temp%\GetAdminGroupName.vbs
Echo Set colAccounts = objWMIService.ExecQuery ("Select * From Win32_Group Where LocalAccount = TRUE And SID = 'S-1-5-32-544'") >>%temp%\GetAdminGroupName.vbs
Echo For Each objAccount in colAccounts >>%temp%\GetAdminGroupName.vbs
Echo Wscript.Echo objAccount.Name >>%temp%\GetAdminGroupName.vbs
Echo Next >>%temp%\GetAdminGroupName.vbs
cscript //nologo "%temp%\GetAdminGroupName.vbs" >%temp%\AdminGroupName.txt
set /p AdminGroupName= < %temp%\AdminGroupName.txt
del %temp%\AdminGroupName.txt
del %temp%\GetAdminGroupName.vbs
Echo Name der lokalen Admin-Gruppe: %AdminGroupName%
Echo User als Admin vorhanden
Goto Ende
:UserNoAdmin
Echo User nicht als Admin vorhanden
:Ende
pause
@echo off
Echo Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") >%temp%\GetAdminGroupName.vbs
Echo Set colAccounts = objWMIService.ExecQuery ("Select * From Win32_Group Where LocalAccount = TRUE And SID = 'S-1-5-32-544'") >>%temp%\GetAdminGroupName.vbs
Echo For Each objAccount in colAccounts >>%temp%\GetAdminGroupName.vbs
Echo Wscript.Echo objAccount.Name >>%temp%\GetAdminGroupName.vbs
Echo Next >>%temp%\GetAdminGroupName.vbs
cscript //nologo "%temp%\GetAdminGroupName.vbs" >%temp%\AdminGroupName.txt
set /p AdminGroupName= < %temp%\AdminGroupName.txt
del %temp%\AdminGroupName.txt
del %temp%\GetAdminGroupName.vbs
Echo Name der lokalen Admin-Gruppe: %AdminGroupName%
Goto Ende
:UserNoAdmin
Echo User nicht als Admin vorhanden
:Ende
pause