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-ID: 252622

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

Ausgedruckt am: 23.11.2024 um 09:11 Uhr

DerWoWusste
DerWoWusste 21.10.2014 um 11:29:24 Uhr
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.
K-ist-K
K-ist-K 21.10.2014 um 11:33:09 Uhr
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.
DerWoWusste
DerWoWusste 21.10.2014 aktualisiert um 11:34:51 Uhr
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.
K-ist-K
K-ist-K 21.10.2014 um 11:46:28 Uhr
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.
colinardo
colinardo 21.10.2014 um 12:02:39 Uhr
Goto Top
und noch etwas abgekürzt face-wink
whoami /groups | find "S-1-5-32-544" >nul && shutdown /l /f
Grüße Uwe
K-ist-K
K-ist-K 21.10.2014 um 12:10:40 Uhr
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
Pago159
Pago159 03.11.2014, aktualisiert am 04.11.2014 um 08:31:22 Uhr
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
K-ist-K
K-ist-K 03.11.2014 um 15:28:47 Uhr
Goto Top
Danke für die sinnvolle Erweiterung.