8

組み込みの.NETSystem.DirectoryServices.ActiveDirectoryを使用して、ActiveDirectoryドメインコントローラーにアクセスしています。

サーバーからのユーザープロパティのコレクションを列挙しようとしています-値ではなく、任意のユーザーの変更可能な設定のリストです。

基本的に、これはActiveDirectoryの「属性エディタ」からの書き込み可能な属性のミラーです。

ADUCユーザープロパティ

次のコードを使用して、このデータを取得しようとしました。

    ActiveDirectorySchema currSchema = ActiveDirectorySchema.GetSchema(directoryContext);

    ActiveDirectorySchemaClass userSchema = currSchema.FindClass("user");

    ReadOnlyActiveDirectorySchemaPropertyCollection userProperties = userSchema.GetAllProperties();

しかし、これは単にこのダイアログにない多くのプロパティを返しますが、これらのプロパティがユニーク/特別である理由はわかりません。

FindClass( "person");も試しました。

これを達成する方法はありますか?

アップデート

要求に応じて、上記を要求した場合に得られるものは次のとおりです。

FindClass( "person")の使用

cn    
instanceType      
nTSecurityDescriptor      
objectCategory    
objectClass   
adminDescription      
adminDisplayName      
allowedAttributes     
allowedAttributesEffective    
allowedChildClasses   
allowedChildClassesEffective      
attributeCertificateAttribute     
bridgeheadServerListBL    
canonicalName     
createTimeStamp   
description   
directReports     
displayName   
displayNamePrintable      
distinguishedName     
dSASignature      
dSCorePropagationData     
extensionName     
flags     
fromEntry     
frsComputerReferenceBL    
fRSMemberReferenceBL      
fSMORoleOwner     
isCriticalSystemObject    
isDeleted     
isPrivilegeHolder     
isRecycled    
lastKnownParent   
managedObjects    
masteredBy    
memberOf      
modifyTimeStamp   
mS-DS-ConsistencyChildCount   
mS-DS-ConsistencyGuid     
msCOM-PartitionSetLink    
msCOM-UserLink    
msDFSR-ComputerReferenceBL    
msDFSR-MemberReferenceBL      
msDS-Approx-Immed-Subordinates    
msDS-AuthenticatedToAccountlist   
msDS-EnabledFeatureBL     
msDS-HostServiceAccountBL     
msDS-IsDomainFor      
msDS-IsFullReplicaFor     
msDS-IsPartialReplicaFor      
msDS-KrbTgtLinkBl     
msDS-LastKnownRDN     
msDS-LocalEffectiveDeletionTime   
msDS-LocalEffectiveRecycleTime    
msDs-masteredBy   
msDS-MembersForAzRoleBL   
msDS-NC-RO-Replica-Locations-BL   
msDS-NCReplCursors    
msDS-NCReplInboundNeighbors   
msDS-NCReplOutboundNeighbors      
msDS-NcType   
msDS-NonMembersBL     
msDS-ObjectReferenceBL    
msDS-OIDToGroupLinkBl     
msDS-OperationsForAzRoleBL    
msDS-OperationsForAzTaskBL    
msDS-PrincipalName    
msDS-PSOApplied   
msDS-ReplAttributeMetaData    
msDS-ReplValueMetaData    
msDS-RevealedDSAs     
msDS-RevealedListBL   
msDS-TasksForAzRoleBL     
msDS-TasksForAzTaskBL     
msSFU30PosixMemberOf      
name      
netbootSCPBL      
nonSecurityMemberBL   
objectGUID    
objectVersion     
otherWellKnownObjects     
ownerBL   
partialAttributeDeletionList      
partialAttributeSet   
possibleInferiors     
proxiedObjectName     
proxyAddresses    
queryPolicyBL     
replPropertyMetaData      
replUpToDateVector    
repsFrom      
repsTo    
revision      
sDRightsEffective     
seeAlso   
serialNumber      
serverReferenceBL     
showInAdvancedViewOnly    
siteObjectBL      
sn    
structuralObjectClass     
subRefs   
subSchemaSubEntry     
systemFlags   
telephoneNumber   
url   
userPassword      
uSNChanged    
uSNCreated    
uSNDSALastObjRemoved      
USNIntersite      
uSNLastObjRem     
uSNSource     
wbemPath      
wellKnownObjects      
whenChanged   
whenCreated   
wWWHomePage   

FindClass( "user")の使用

cn    
instanceType      
nTSecurityDescriptor      
objectCategory    
objectClass   
objectSid     
sAMAccountName    
accountExpires    
accountNameHistory    
aCSPolicyName     
adminCount    
adminDescription      
adminDisplayName      
allowedAttributes     
allowedAttributesEffective    
allowedChildClasses   
allowedChildClassesEffective      
altSecurityIdentities     
assistant     
attributeCertificateAttribute     
audio     
badPasswordTime   
badPwdCount   
bridgeheadServerListBL    
businessCategory      
c     
canonicalName     
carLicense    
co    
codePage      
comment   
company   
controlAccessRights   
countryCode   
createTimeStamp   
dBCSPwd   
defaultClassStore     
department    
departmentNumber      
description   
desktopProfile    
destinationIndicator      
directReports     
displayName   
displayNamePrintable      
distinguishedName     
division      
dSASignature      
dSCorePropagationData     
dynamicLDAPServer     
employeeID    
employeeNumber    
employeeType      
extensionName     
facsimileTelephoneNumber      
flags     
fromEntry     
frsComputerReferenceBL    
fRSMemberReferenceBL      
fSMORoleOwner     
garbageCollPeriod     
gecos     
generationQualifier   
gidNumber     
givenName     
groupMembershipSAM    
groupPriority     
groupsToIgnore    
homeDirectory     
homeDrive     
homePhone     
homePostalAddress     
houseIdentifier   
info      
initials      
internationalISDNNumber   
ipPhone   
isCriticalSystemObject    
isDeleted     
isPrivilegeHolder     
isRecycled    
jpegPhoto     
l     
labeledURI    
lastKnownParent   
lastLogoff    
lastLogon     
lastLogonTimestamp    
legacyExchangeDN      
lmPwdHistory      
localeID      
lockoutTime   
loginShell    
logonCount    
logonHours    
logonWorkstation      
mail      
managedObjects    
manager   
masteredBy    
maxStorage    
memberOf      
mhsORAddress      
middleName    
mobile    
modifyTimeStamp   
mS-DS-ConsistencyChildCount   
mS-DS-ConsistencyGuid     
mS-DS-CreatorSID      
msCOM-PartitionSetLink    
msCOM-UserLink    
msCOM-UserPartitionSetLink    
msDFSR-ComputerReferenceBL    
msDFSR-MemberReferenceBL      
msDRM-IdentityCertificate     
msDS-AllowedToDelegateTo      
msDS-Approx-Immed-Subordinates    
msDS-AuthenticatedAtDC    
msDS-AuthenticatedToAccountlist   
msDS-Cached-Membership    
msDS-Cached-Membership-Time-Stamp     
msDS-EnabledFeatureBL     
msDS-FailedInteractiveLogonCount      
msDS-FailedInteractiveLogonCountAtLastSuccessfulLogon     
msDS-HABSeniorityIndex    
msDS-HostServiceAccountBL     
msDS-IsDomainFor      
msDS-IsFullReplicaFor     
msDS-IsPartialReplicaFor      
msDS-KeyVersionNumber     
msDS-KrbTgtLinkBl     
msDS-LastFailedInteractiveLogonTime   
msDS-LastKnownRDN     
msDS-LastSuccessfulInteractiveLogonTime   
msDS-LocalEffectiveDeletionTime   
msDS-LocalEffectiveRecycleTime    
msDs-masteredBy   
msDS-MembersForAzRoleBL   
msDS-NC-RO-Replica-Locations-BL   
msDS-NCReplCursors    
msDS-NCReplInboundNeighbors   
msDS-NCReplOutboundNeighbors      
msDS-NcType   
msDS-NonMembersBL     
msDS-ObjectReferenceBL    
msDS-OIDToGroupLinkBl     
msDS-OperationsForAzRoleBL    
msDS-OperationsForAzTaskBL    
msDS-PhoneticCompanyName      
msDS-PhoneticDepartment   
msDS-PhoneticDisplayName      
msDS-PhoneticFirstName    
msDS-PhoneticLastName     
msDS-PrincipalName    
msDS-PSOApplied   
msDS-ReplAttributeMetaData    
msDS-ReplValueMetaData    
msDS-ResultantPSO     
msDS-RevealedDSAs     
msDS-RevealedListBL   
msDS-SecondaryKrbTgtNumber    
msDS-Site-Affinity    
msDS-SourceObjectDN   
msDS-SupportedEncryptionTypes     
msDS-TasksForAzRoleBL     
msDS-TasksForAzTaskBL     
msDS-User-Account-Control-Computed    
msDS-UserPasswordExpiryTimeComputed   
msExchAssistantName   
msExchHouseIdentifier     
msExchLabeledURI      
msIIS-FTPDir      
msIIS-FTPRoot     
mSMQDigests   
mSMQDigestsMig    
mSMQSignCertificates      
mSMQSignCertificatesMig   
msNPAllowDialin   
msNPCallingStationID      
msNPSavedCallingStationID     
msPKI-CredentialRoamingTokens     
msPKIAccountCredentials   
msPKIDPAPIMasterKeys      
msPKIRoamingTimeStamp     
msRADIUS-FramedInterfaceId    
msRADIUS-FramedIpv6Prefix     
msRADIUS-FramedIpv6Route      
msRADIUS-SavedFramedInterfaceId   
msRADIUS-SavedFramedIpv6Prefix    
msRADIUS-SavedFramedIpv6Route     
msRADIUSCallbackNumber    
msRADIUSFramedIPAddress   
msRADIUSFramedRoute   
msRADIUSServiceType   
msRASSavedCallbackNumber      
msRASSavedFramedIPAddress     
msRASSavedFramedRoute     
msSFU30Name   
msSFU30NisDomain      
msSFU30PosixMemberOf      
msTSAllowLogon    
msTSBrokenConnectionAction    
msTSConnectClientDrives   
msTSConnectPrinterDrives      
msTSDefaultToMainPrinter      
msTSExpireDate    
msTSExpireDate2   
msTSExpireDate3   
msTSExpireDate4   
msTSHomeDirectory     
msTSHomeDrive     
msTSInitialProgram    
msTSLicenseVersion    
msTSLicenseVersion2   
msTSLicenseVersion3   
msTSLicenseVersion4   
msTSLSProperty01      
msTSLSProperty02      
msTSManagingLS    
msTSManagingLS2   
msTSManagingLS3   
msTSManagingLS4   
msTSMaxConnectionTime     
msTSMaxDisconnectionTime      
msTSMaxIdleTime   
msTSPrimaryDesktop    
msTSProfilePath   
msTSProperty01    
msTSProperty02    
msTSReconnectionAction    
msTSRemoteControl     
msTSSecondaryDesktops     
msTSWorkDirectory     
name      
netbootSCPBL      
networkAddress    
nonSecurityMemberBL   
ntPwdHistory      
o     
objectGUID    
objectVersion     
operatorCount     
otherFacsimileTelephoneNumber     
otherHomePhone    
otherIpPhone      
otherLoginWorkstations    
otherMailbox      
otherMobile   
otherPager    
otherTelephone    
otherWellKnownObjects     
ou    
ownerBL   
pager     
partialAttributeDeletionList      
partialAttributeSet   
personalTitle     
photo     
physicalDeliveryOfficeName    
possibleInferiors     
postalAddress     
postalCode    
postOfficeBox     
preferredDeliveryMethod   
preferredLanguage     
preferredOU   
primaryGroupID    
primaryInternationalISDNNumber    
primaryTelexNumber    
profilePath   
proxiedObjectName     
proxyAddresses    
pwdLastSet    
queryPolicyBL     
registeredAddress     
replPropertyMetaData      
replUpToDateVector    
repsFrom      
repsTo    
revision      
rid   
roomNumber    
sAMAccountType    
scriptPath    
sDRightsEffective     
secretary     
securityIdentifier    
seeAlso   
serialNumber      
serverReferenceBL     
servicePrincipalName      
shadowExpire      
shadowFlag    
shadowInactive    
shadowLastChange      
shadowMax     
shadowMin     
shadowWarning     
showInAddressBook     
showInAdvancedViewOnly    
sIDHistory    
siteObjectBL      
sn    
st    
street    
streetAddress     
structuralObjectClass     
subRefs   
subSchemaSubEntry     
supplementalCredentials   
systemFlags   
telephoneNumber   
teletexTerminalIdentifier     
telexNumber   
terminalServer    
textEncodedORAddress      
thumbnailLogo     
thumbnailPhoto    
title     
tokenGroups   
tokenGroupsGlobalAndUniversal     
tokenGroupsNoGCAcceptable     
uid   
uidNumber     
unicodePwd    
unixHomeDirectory     
unixUserPassword      
url   
userAccountControl    
userCert      
userCertificate   
userParameters    
userPassword      
userPKCS12    
userPrincipalName     
userSharedFolder      
userSharedFolderOther     
userSMIMECertificate      
userWorkstations      
uSNChanged    
uSNCreated    
uSNDSALastObjRemoved      
USNIntersite      
uSNLastObjRem     
uSNSource     
wbemPath      
wellKnownObjects      
whenChanged   
whenCreated   
wWWHomePage   
x121Address   
x500uniqueIdentifier    

返されたデータの明確化

userSchema

userSchema

userProperties

userProperties

4

2 に答える 2

1

オブジェクトの変更が許可されている属性のリストは、属性allowedAttributesEffectiveに格納されています。

クエリが作成されたセキュリティ コンテキストの属性が表示されます。

詳細については、このブログ投稿をご覧ください

于 2012-10-25T22:07:52.390 に答える
0

「しかし、これは単にこのダイアログにない多くのプロパティを返しますが、これらのプロパティがユニーク/特別である理由はわかりません.」

Windows サーバーには、定義済みの AD スキーマが付属しています。これは、固有/特別な値の基本的なリストです。たとえば、Exchange サーバーがインストールされている場合、Exchange AD スキーマが基本の Windows AD スキーマに追加されるため、Exchange は独自の/特別なプロパティをリストに追加します。基本的に、基本的な Windows AD インストールでは、保証されたスキーマ オブジェクトが表示されます。他のすべてのオブジェクトは、構成とネットワークにインストールされているソフトウェアに応じてオプションです。

このタイプのプログラミングを行うには、adsi エディター スナップインを使用することを強くお勧めします: http://technet.microsoft.com/en-us/library/cc773354%28v=ws.10%29.aspx。これにより、FindClass や like 呼び出しにパラメータとして設定できるマジック ストリングを知ることができ、コードに入る前に、C# 呼び出しを介して AD から返されるものを把握することができます。

于 2012-09-27T01:36:10.393 に答える