nasham2
Goto Top

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?

Content-Key: 107101

Url: https://administrator.de/contentid/107101

Printed on: April 26, 2024 at 16:04 o'clock

Member: Logan000
Logan000 Jan 26, 2009 at 10:45:37 (UTC)
Goto Top
Moin Moin

Das solte mit der Ifmember.exe aus dem Reskit klappen. Etwa So:
\\SERVER\netlogon\ifmember Administratoren
if errorlevel 1 goto ADMINS
goto UNDWECH
:ADMINS
echo user nicht vorhanden >> \\share\log.txt
:UNDWECH

Gruß L.
Member: stolaf
stolaf Jan 26, 2009 at 10:45:57 (UTC)
Goto Top
@echo off

Echo User vorhanden
Goto Ende

:UserNichtVorhanden
Echo User nicht vorhanden

:Ende

pause

Zu beachten ist, den richtigen Namen der Admingruppe in der jeweiligen Landessprache zu ermitteln (Administratoren, Administrators etc.)

Gruss
Olaf
Member: Biber
Biber Jan 26, 2009 at 11:53:13 (UTC)
Goto Top
Moin nasham2 und die anderen,
Zitat von @stolaf:
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!  
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
Member: stolaf
stolaf Jan 26, 2009 at 13:26:18 (UTC)
Goto Top
Damit es auch unter Thai, Suahelisch etc. funktioniert face-smile

@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