csharp:sidtostring
no way to compare when less than two revisions
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Vorhergehende Überarbeitung | |||
— | csharp:sidtostring [2016/04/02 00:48] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== objectSids in Strings umwandeln ====== | ||
+ | <code csharp> | ||
+ | private string ConvertByteToStringSid(byte[] Sid) | ||
+ | { | ||
+ | string ReturnString = " | ||
+ | int CountSubProviders = Sid[1]; | ||
+ | |||
+ | string Revision = Sid[0].ToString(); | ||
+ | string IdentifierAuthority = ((long)(((long)Sid[2] << 40) + ((long)Sid[3] << 32) + ((long)Sid[4] << 24) + ((long)Sid[5] << 16) + ((long)Sid[6] << 8) + (long)Sid[7])).ToString(); | ||
+ | |||
+ | ReturnString += Revision + " | ||
+ | ulong b1, b2, b3, b4, bSum; | ||
+ | |||
+ | for (int i = 0; i < CountSubProviders; | ||
+ | { | ||
+ | b1 = (ulong)Sid[8 + (4 * i)]; | ||
+ | b2 = (ulong)Sid[9 + (4 * i)] << 8; | ||
+ | b3 = (ulong)Sid[10 + (4 * i)] << 16; | ||
+ | b4 = (ulong)Sid[11 + (4 * i)] << 24; | ||
+ | bSum = b1 + b2 + b3 + b4; | ||
+ | ReturnString += " | ||
+ | } | ||
+ | |||
+ | return ReturnString; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Wenn man in C# das AD-Attribut objectSID ausliest, erhält man lediglich einen byte-Array als Rückgabewert. Dies ist lediglich die interne Darstellung, | ||
+ | |||
+ | Hintergrundinformationen zum Thema objectSid finden sich [[http:// | ||
+ | |||
+ | {{tag> |
csharp/sidtostring.txt · Zuletzt geändert: 2016/04/02 00:48 von 127.0.0.1