k-ist-k
Goto Top

CMD - Admin Check - User mit Admin Rechten finden

Hallo Werte IT Kollegen,

hier ein kleines Script womit man heraus findet ob ein User Admin Rechte hat.
Wenn der User Admin Rechte hat, wird er sofort abgemeldet.

@echo off

whoami /groups | find "S-1-5-32-544" > nul   
if errorlevel 1 goto user 

echo Benutzer ist lokaler Administrator
shutdown /l /f
goto ende

:user
echo Benutzer ist ein normaler User
goto ende
 
:ende
mit whoami /groups werden alle Gruppen angezeigt wo man drinnen ist.
mit find S-1-5-32-544 wird geschaut ob man in der Gruppe "Administratoren" ist.

Die Gruppe Adminisratoren hat immer die gleiche SID S-1-5-32-544.
Wird in der Gruppen Liste die SID gefunden hat der Benutzer Admin Rechte.

Findet der Befehl keine passende SID dann wird das Errorlevel 1 erzeugt
und wir springen zum Bereich "user".


Wir haben dieses Script auf die OU "User" als Logon Script verknüpft.
Die Admin User sind bei uns in einer anderen OU,
somit sollte es keinen User in dieser OU geben der Admin Rechte hat.

Lg K

Content-Key: 252622

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

Printed on: April 19, 2024 at 07:04 o'clock

Member: DerWoWusste
DerWoWusste Oct 21, 2014 at 09:29:24 (UTC)
Goto Top
Moin.

Darf ich "meckern"?
Wir haben dieses Script auf die OU "User" als Startup Script verknüpft.
Dann wird es nicht funktionieren. Ein Startup-Skript läuft im Systemkontext, nicht im Userkontext.
Member: K-ist-K
K-ist-K Oct 21, 2014 at 09:33:09 (UTC)
Goto Top
Meckern darfst du nicht :D
Aber gegenüber Kritik bin ich offen.

Du hast natürlich vollkommen recht,
hab mich vertan, es ist ein Logon Script und kein Startup Script.

Ich werde es ausbessern, danke für den Hinweis.
Member: DerWoWusste
DerWoWusste Oct 21, 2014 updated at 09:34:51 (UTC)
Goto Top
Jou... dann werde ich mein Kommentar auch löschen, damit es wieder schick aussieht.
Die Idee ist gut, denn es passiert durchaus mal eine Nachlässigkeit und man lässt Nutzer temporär in die Gruppe, wer kennt das nicht.
Member: K-ist-K
K-ist-K Oct 21, 2014 at 09:46:28 (UTC)
Goto Top
Du musst nicht deinen Eintrag löschen.
Ich habe einen Fehler gemacht und dazu stehe ich. face-smile

Das mit den temporären Nutzern vergisst man dann teilweiße, richtig.
Member: colinardo
colinardo Oct 21, 2014 at 10:02:39 (UTC)
Goto Top
und noch etwas abgekürzt face-wink
whoami /groups | find "S-1-5-32-544" >nul && shutdown /l /f
Grüße Uwe
Member: K-ist-K
K-ist-K Oct 21, 2014 at 10:10:40 (UTC)
Goto Top
Danke für die Kurzform.

Ich wollte es in lang haben damit ich es besser erklären kann und es übersichtlicher wirkt.

Weil wie man im Code sieht, gebe ich mit echo "Benutzer ist lokaler Administrator" aus,
was ja schwachsinnig ist da er das nie sehen wird, da er ja gleich abgemeldet wird face-smile

Ich finde es so schöner Ausbau fähig, gerade für Leute die im Scripten so schlecht sind wie ich ;)

Lg
Member: Pago159
Pago159 Nov 03, 2014, updated at Nov 04, 2014 at 07:31:22 (UTC)
Goto Top
Hi,
ich habe das ganze mal noch schnell so umgeschrieben, dass eine Log Datei geschrieben wird, mit den Usern, die sich mit Adminrechten Anmelden.
Man muss nur den "LogDir" Pfad entsprechend anpassen.

@echo off

set LogFile=NetworkShare\Logdateil.log

whoami /groups | find "S-1-5-32-544" > nul   
if errorlevel 1 goto user 

echo Der Benutzer %username% hat sich am %DATE% um %TIME% Uhr am Client %computername% angemeldet und ist Mitglied der Gruppe der lokalen Administratoren >>%LogFile%

shutdown /l /f /c "!!!Bitte melden Sie sich bei Ihrem Administrator!!!"  
goto ende

:user
echo Benutzer ist ein normaler User
goto ende
 
:ende
Member: K-ist-K
K-ist-K Nov 03, 2014 at 14:28:47 (UTC)
Goto Top
Danke für die sinnvolle Erweiterung.