PHP: Wie sperre ich ein Active Directory Benutzerkonto?

8

Ich habe ein funktionierendes Skript, mit dem ich ein Benutzerkonto entsperren kann (indem ich das Lockouttime AD-Attribut auf 0 setze) etwas wie das:

%Vor%

Jetzt möchte ich das Gegenteil tun: den Account sperren. Ich habe gelesen, dass lockouttime ein Systemattribut ist und Active Directory es uns nicht erlaubt, seinen Wert auf etwas anderes als 0 zu setzen.

Ich versuche also, mich mit dem Benutzerkonto und einem schlechten Passwort an den Server zu binden, aber das scheint nicht zu funktionieren.

%Vor%

das zeigt diesen Fehler

%Vor%

aber das Konto ist immer noch entsperrt.

Haben Sie eine Idee, wie ich das machen kann? Vielen Dank im Voraus.

    
Loïc MICHEL 10.01.2014, 09:13
quelle

5 Antworten

2

LDAP-Bindungsversuche zählen nicht als Anmeldeversuche. Verwenden Sie APIs wie LogonUser und CreateProcessWithLogon Anmeldeversuche generieren.

    
Sean Hall 17.01.2014 04:12
quelle
1

Das Sperren des Benutzers über das userAccountControl LOCKOUT Flag ( 0x0010 ) ist nicht möglich . Dieses Flag steht mit der Kennwortrichtlinie des AD in Verbindung und wird vom System gesetzt, wenn zu viele Anmeldeversuche unternommen werden. Ich habe es selbst ausprobiert: Nach dem Setzen der Flagge und dem Commit der Änderungen an den AD änderte sich der Wert nicht - es wurde keine Exception geworfen.

Das Deaktivieren eines Kontos wird wahrscheinlich dasselbe erreichen, was Sie tun möchten. Dazu müssen Sie das ACCOUNTDISABLE Flag ( 0x0002 ) setzen.

Dies ist die Liste aller UAC-Flags: Ссылка

    
wodzu 07.05.2014 10:56
quelle
0

Wenn Sie Ссылка aufrufen, wird davon ausgegangen, dass ein normales Konto einen Wert von 512 für seine Benutzerkontensteuerung hat.

  

LOCKOUT 0x0010 16   NORMAL_ACCOUNT 0x0200 512

Ich glaube, wenn Sie es auf 528 setzen (lockout + normal account), wird das Benutzerkonto gesperrt.

%Vor%     
Pez Cuckow 15.01.2014 12:13
quelle
0

Ich empfehle, fehlerhafte Bindungsversuche selbst zu zählen, indem Sie die Variable a session verwenden und das Konto auf dieser Grundlage selbst sperren.

Um das Konto zu sperren, müssen Sie die Benutzerkontensteuerungsoptionen kumulieren und das UserAccountControl-Attribut festlegen.

Verweise Ссылка , Sperren wäre:

%Vor%

Der Wert 514 stammt von NORMAL_ACCOUNT (512) + ACCOUNTDISABLE (2).

Das Entsperren wäre ein Wert von NORMAL_ACCOUNT, 512.

Endgültiger Code:

%Vor%     
cesar.vega 22.04.2014 16:46
quelle
-1

Versuchen Sie Folgendes:

Entsperren:

%Vor%

Zum Sperren:

%Vor%

Aktivieren:

%Vor%

Zum Deaktivieren:

%Vor%     
Tan Hong Tat 21.01.2014 05:52
quelle

Tags und Links