userAccountControl in Active Directory

8

Ich möchte den aktuellen Wert von userAccountControl kennen und bestimmen, in welcher Phase er sich befindet

Hinweis: Ссылка

Laut der obigen Dokumentation sollte es die Werte, die 2 sind, an die Potenz N zurückgeben.

Aber wenn ich mein c # -Programm starte, gibt es den Wert 544 für das normale Konto und 546 für das deaktivierte Konto zurück. Ich vermute, dass sie Dezimalzahlen sind. Aber wie könnte ich wieder auf die Werte verweisen, wie in der Referenz gezeigt?

Danke.

    
TTCG 19.04.2012, 15:51
quelle

3 Antworten

1
  • 544 = hex 0x220
  • 546 = hex 0x222

Laut dieser Liste hier bedeutet dies:

%Vor%

Also

  • ein Wert von 544 (dezimal) ist 0x220 hex und bedeutet: normaler Account, Passwort nicht erforderlich
  • ein Wert von 546 (dezimal) ist 0x222 hex und bedeutet: normaler Account, deaktiviert, Passwort nicht erforderlich
marc_s 19.04.2012, 16:04
quelle
27

Sie können dies leicht dekodieren, indem Sie Ihr Ergebnis in eine Enumeration umwandeln.

%Vor%

Hier ist die Enum-Definition, die Sie wollen:

%Vor%     
JamieSee 19.04.2012 16:19
quelle
3

Es ist eine Bitmap. Jedes Bit in einem Wort ist entweder EIN oder AUS (0 oder 1). Es ist nicht wirklich eine Nummer, es ist mehr wie eine Reihe von Schaltern, jeder an oder aus. Betriebssysteme verwenden sie intern, weil sie sie sehr schnell manipulieren können, indem sie sie logisch mit Bitmasken vergleichen.

Die LDIF-Darstellung des Attributs kann das Ergebnis als eine Dezimalzahl anzeigen (entspricht der binären Zahl, die von der Maske dargestellt würde, wenn es eine Zahl wäre - das ist es nicht wirklich!) Und es ist ziemlich einfach zu entschlüsseln, weil es im Grunde genommen durch Hinzufügen von zwei Potenzen zusammen gemacht wurde.

Zum Beispiel:

%Vor%     
Ken 18.06.2013 15:50
quelle