| File: System\DirectoryServices\ActiveDirectory\PropertyManager.cs | Web Access |
| Project: src\runtime\src\libraries\System.DirectoryServices\src\System.DirectoryServices.csproj (System.DirectoryServices) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Diagnostics; using System.Runtime.InteropServices; namespace System.DirectoryServices.ActiveDirectory { internal static class PropertyManager { public const string DefaultNamingContext = "defaultNamingContext"; public const string SchemaNamingContext = "schemaNamingContext"; public const string ConfigurationNamingContext = "configurationNamingContext"; public const string RootDomainNamingContext = "rootDomainNamingContext"; public const string MsDSBehaviorVersion = "msDS-Behavior-Version"; public const string FsmoRoleOwner = "fsmoRoleOwner"; public const string ForestFunctionality = "forestFunctionality"; public const string NTMixedDomain = "ntMixedDomain"; public const string DomainFunctionality = "domainFunctionality"; public const string ObjectCategory = "objectCategory"; public const string SystemFlags = "systemFlags"; public const string DnsRoot = "dnsRoot"; public const string DistinguishedName = "distinguishedName"; public const string TrustParent = "trustParent"; // disable csharp compiler warning #0414: field assigned unused value #pragma warning disable 0414 public const string FlatName = "flatName"; public const string Name = "name"; public const string Flags = "flags"; public const string TrustType = "trustType"; public const string TrustAttributes = "trustAttributes"; #pragma warning restore 0414 public const string BecomeSchemaMaster = "becomeSchemaMaster"; public const string BecomeDomainMaster = "becomeDomainMaster"; public const string BecomePdc = "becomePdc"; public const string BecomeRidMaster = "becomeRidMaster"; public const string BecomeInfrastructureMaster = "becomeInfrastructureMaster"; public const string DnsHostName = "dnsHostName"; public const string Options = "options"; public const string CurrentTime = "currentTime"; public const string HighestCommittedUSN = "highestCommittedUSN"; public const string OperatingSystem = "operatingSystem"; public const string HasMasterNCs = "hasMasterNCs"; public const string MsDSHasMasterNCs = "msDS-HasMasterNCs"; public const string MsDSHasFullReplicaNCs = "msDS-hasFullReplicaNCs"; public const string NCName = "nCName"; public const string Cn = "cn"; public const string NETBIOSName = "nETBIOSName"; public const string DomainDNS = "domainDNS"; public const string InstanceType = "instanceType"; public const string MsDSSDReferenceDomain = "msDS-SDReferenceDomain"; public const string MsDSPortLDAP = "msDS-PortLDAP"; public const string MsDSPortSSL = "msDS-PortSSL"; public const string MsDSNCReplicaLocations = "msDS-NC-Replica-Locations"; public const string MsDSNCROReplicaLocations = "msDS-NC-RO-Replica-Locations"; public const string SupportedCapabilities = "supportedCapabilities"; public const string ServerName = "serverName"; public const string Enabled = "Enabled"; public const string ObjectGuid = "objectGuid"; public const string Keywords = "keywords"; public const string ServiceBindingInformation = "serviceBindingInformation"; public const string MsDSReplAuthenticationMode = "msDS-ReplAuthenticationMode"; public const string HasPartialReplicaNCs = "hasPartialReplicaNCs"; public const string Container = "container"; public const string LdapDisplayName = "ldapDisplayName"; public const string AttributeID = "attributeID"; public const string AttributeSyntax = "attributeSyntax"; public const string Description = "description"; public const string SearchFlags = "searchFlags"; public const string OMSyntax = "oMSyntax"; public const string OMObjectClass = "oMObjectClass"; public const string IsSingleValued = "isSingleValued"; public const string IsDefunct = "isDefunct"; public const string RangeUpper = "rangeUpper"; public const string RangeLower = "rangeLower"; public const string IsMemberOfPartialAttributeSet = "isMemberOfPartialAttributeSet"; public const string ObjectVersion = "objectVersion"; public const string LinkID = "linkID"; public const string ObjectClassCategory = "objectClassCategory"; public const string SchemaUpdateNow = "schemaUpdateNow"; public const string SubClassOf = "subClassOf"; public const string SchemaIDGuid = "schemaIDGUID"; public const string PossibleSuperiors = "possSuperiors"; public const string PossibleInferiors = "possibleInferiors"; public const string MustContain = "mustContain"; public const string MayContain = "mayContain"; public const string SystemMustContain = "systemMustContain"; public const string SystemMayContain = "systemMayContain"; public const string GovernsID = "governsID"; public const string IsGlobalCatalogReady = "isGlobalCatalogReady"; public const string NTSecurityDescriptor = "ntSecurityDescriptor"; public const string DsServiceName = "dsServiceName"; public const string ReplicateSingleObject = "replicateSingleObject"; public const string MsDSMasteredBy = "msDS-masteredBy"; public const string DefaultSecurityDescriptor = "defaultSecurityDescriptor"; public const string NamingContexts = "namingContexts"; public const string MsDSDefaultNamingContext = "msDS-DefaultNamingContext"; public const string OperatingSystemVersion = "operatingSystemVersion"; public const string AuxiliaryClass = "auxiliaryClass"; public const string SystemAuxiliaryClass = "systemAuxiliaryClass"; public const string SystemPossibleSuperiors = "systemPossSuperiors"; public const string InterSiteTopologyGenerator = "interSiteTopologyGenerator"; public const string FromServer = "fromServer"; public const string RIDAvailablePool = "rIDAvailablePool"; public const string SiteList = "siteList"; public const string MsDSHasInstantiatedNCs = "msDS-HasInstantiatedNCs"; public static object? GetPropertyValue(DirectoryEntry directoryEntry, string propertyName) { return GetPropertyValue(null, directoryEntry, propertyName); } public static object? GetPropertyValue(DirectoryContext? context, DirectoryEntry directoryEntry, string propertyName) { Debug.Assert(directoryEntry != null, "PropertyManager::GetPropertyValue - directoryEntry is null"); Debug.Assert(propertyName != null, "PropertyManager::GetPropertyValue - propertyName is null"); try { if (directoryEntry.Properties[propertyName].Count == 0) { if (directoryEntry.Properties[PropertyManager.DistinguishedName].Count != 0) { throw new ActiveDirectoryOperationException(SR.Format(SR.PropertyNotFoundOnObject, propertyName, directoryEntry.Properties[PropertyManager.DistinguishedName].Value)); } else { throw new ActiveDirectoryOperationException(SR.Format(SR.PropertyNotFound, propertyName)); } } } catch (COMException e) { throw ExceptionHelper.GetExceptionFromCOMException(context, e); } return directoryEntry.Properties[propertyName].Value; } public static object? GetSearchResultPropertyValue(SearchResult res, string propertyName) { Debug.Assert(res != null, "PropertyManager::GetSearchResultPropertyValue - res is null"); Debug.Assert(propertyName != null, "PropertyManager::GetSearchResultPropertyValue - propertyName is null"); ResultPropertyValueCollection? propertyValues = null; try { propertyValues = res.Properties[propertyName]; if ((propertyValues == null) || (propertyValues.Count < 1)) { throw new ActiveDirectoryOperationException(SR.Format(SR.PropertyNotFound, propertyName)); } } catch (COMException e) { throw ExceptionHelper.GetExceptionFromCOMException(e); } return propertyValues[0]; } } }