validar usuario single password obtener datos crear conectar con active c# active-directory

c# - usuario - Recuperar propiedades específicas de Active Directory



single sign on c# active directory (2)

"Pero esto devuelve muchas propiedades que simplemente no están en este diálogo, pero no sé qué hace que estas propiedades sean únicas / especiales".

El servidor de Windows viene con un esquema de AD predefinido. Esa es la lista básica de valores únicos / especiales. Si tiene, por ejemplo, un servidor de intercambio instalado, Exchange agregará un montón de propiedades adicionales únicas / especiales a la lista porque agrega un esquema de AD de Exchange para que base el esquema de Windows AD. Esencialmente, una instalación base de AD de Windows le mostrará sus objetos de esquema garantizados, y todos los demás objetos son opcionales dependiendo de las configuraciones y el software instalado en su red.

Recomiendo encarecidamente utilizar el complemento de editor adsi para realizar este tipo de programación: http://technet.microsoft.com/en-us/library/cc773354%28v=ws.10%29.aspx . Esto te ayudará a saber qué cuerdas mágicas puedes poner en FindClass y te gusta las llamadas como parámetros y te permitirá saber qué obtendrás de AD a través de tu C # call antes de entrar al código.

Estoy usando el .NET System.DirectoryServices.ActiveDirectory incorporado para acceder a un controlador de dominio de Active Directory.

Estoy intentando enumerar la colección de propiedades de usuario del servidor, no los valores, sino una lista de configuraciones modificables para cualquier usuario.

Básicamente, este es un espejo de los atributos que se pueden escribir desde el "Editor de atributos" en Active Directory:

Intenté capturar estos datos usando el siguiente código:

ActiveDirectorySchema currSchema = ActiveDirectorySchema.GetSchema(directoryContext); ActiveDirectorySchemaClass userSchema = currSchema.FindClass("user"); ReadOnlyActiveDirectorySchemaPropertyCollection userProperties = userSchema.GetAllProperties();

Pero esto devuelve muchas propiedades que simplemente no están en este diálogo, pero no sé qué hace que estas propiedades sean únicas / especiales.

También probé FindClass ("persona");

¿Hay alguna manera de lograr esto?

Actualizar

Según lo solicitado, esto es lo que obtengo si solicito lo anterior:

Usando FindClass ("persona")

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

Usando FindClass ("usuario")

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

Aclaración sobre los datos devueltos

userSchema

userProperties


La lista de atributos que se permite modificar para un objeto se almacena en el atributo allowedAttributesEffective .

Mostrará los atributos para el contexto de seguridad bajo el cual se realizó la consulta.

Echa un vistazo a esta publicación de blog para obtener más información .