Laden...

Active Directory && OctetString

Erstellt von Horego vor 19 Jahren Letzter Beitrag vor 19 Jahren 4.246 Views
Horego Themenstarter:in
42 Beiträge seit 2004
vor 19 Jahren
Active Directory && OctetString

Hi, Ich habe folgendes Problem...

In c# hab ich eine Guid und will diese in ein Nicht Mehrwertiges OctetString Min(16) Max(16) Feld in Active Direcory schreiben. So sind z.B. auch die ObjectGUIDs hinterlegt..

auslesen is klar...

byte[] test = (byte[])(DirectoryEntry.Properties["testOctetString"].Value);

aber das reinschreiben funktioniert irgendwie nicht...


//Theoretisch sollte es ja sein:
DirectoryEntry.Properties["testOctetString"].Value = byteArray;
//oder
DirectoryEntry.Properties["testOctetString"].Value = Guid;
//oder
//Neuer Wert einfügen
DirectoryEntry.Properties["testOctetString"].Add(byteArray);
//Vorheriger Wert rauslöschen
DirectoryEntry.Properties["testOctetString"].Remove(0);

//Am Ende immer ein CommitChanges zum speichern in AD
DirectoryEntry.CommitChanges();

Aber alles will irgendwie nicht... Vielleicht hatte jemand ja schonmal das Problem und kann mir behilflich sein.

gruß Horego

AHH ICH HABS 🙂)
Endlich...

Also das ganze is im prinzip ganz einfach! In der MSDN hilfe ist es aber falsch beschrieben 😜

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sds/sds/octet_string__sid__property_type.asp


//Alles löschen
DirectoryEntry.Properties["testOctetString"].Clear();

[B]//Zuvor nochmal Speichern!! => Das war der Fehler[/B]
[B]DirectoryEntry.CommitChanges();[/B]

//Wert setzen
DirectoryEntry.Properties["testOctetString"].Value = Guid;
//Jetzt entgültig speichern
DirectoryEntry.CommitChanges();