Propriété de type nom unique avec données binaires (sds)
Les propriétés comme l'attribut wellKnownObjects du schéma Active Directory utilisent le type de syntaxe Object(DN-Binary). Pour plus d'informations sur l'attribut wellKnownObjects ou le type de syntaxe Object(DN-Binary), voir la rubrique sur l'attribut Well-Known-Objects ou sur la syntaxe Object(DN-Binary) dans MSDN Library à l'adresse https://go.microsoft.com/fwlink/?LinkID=27252.
Si une propriété utilisant le type Object(DN-Binary) est obtenue avec la propriété Properties, ce type de données est représenté comme un objet COM accessible avec l'interface IADsDNWithBinary. Pour plus d'informations sur cette interface, consultez la rubrique IADsDNWithBinary dans MSDN Library à l'adresse https://go.microsoft.com/fwlink/?LinkID=27252 (page pouvant être en anglais). Si une propriété utilisant le type Object(DN-Binary) est obtenue à partir de ResultPropertyValueCollection, ce type de données est représenté comme un objet String contenant le nom unique et les données binaires au format spécifié par la syntaxe Object(DN-Binary).
Les exemples suivants montrent comment lire une propriété dont l'une des valeurs utilise la syntaxe de nom unique avec données binaires.
Imports ActiveDs
Dim wkObjects As [Object] = usr.Properties("wellKnownObjects").Value
Dim wkObject As DNWithBinary
For Each wkObject In CType(wkObjects, IEnumerable)
Dim bytes As Byte() = CType(wkObject.BinaryValue, Byte())
Dim b As Byte
For Each b In bytes
Console.Write("{0:x2}", b)
Next b
Console.WriteLine(wkObject.DNString)
Next wkObject
using ActiveDs;
Object wkObjects = ent.Properties["wellKnownObjects"].Value;
foreach(DNWithBinary wkObject in (IEnumerable) wkObjects)
{
byte[] bytes= (byte[]) wkObject.BinaryValue;
foreach(byte b in bytes)
{
Console.Write("{0:x2}",b);
}
Console.WriteLine(wkObject.DNString);
}
Les exemples suivants montrent comment écrire une valeur de propriété qui utilise la syntaxe de nom unique avec données binaires.
Imports ActiveDs
Dim dnBin As New ActiveDs.DNWithBinaryClass()
dnBin.DNString = usr.Properties("distinguishedName").Value.ToString()
dnBin.BinaryValue = usr.Guid.ToByteArray()
usr.Properties("singleDNWithBinary").Value = dnBin
usr.CommitChanges()
using ActiveDs;
ActiveDs.DNWithBinary dnBin = new ActiveDs.DNWithBinaryClass();
dnBin.DNString = usr.Properties["distinguishedName"].Value.ToString();
dnBin.BinaryValue = usr.Guid.ToByteArray();
usr.Properties["singleDNWithBinary"].Value = dnBin;
usr.CommitChanges();
Voir aussi
Référence
System.DirectoryServices
DirectoryEntry
ResultPropertyValueCollection
Concepts
Send comments about this topic to Microsoft.
Copyright © 2007 par Microsoft Corporation. Tous droits réservés.