c# – LDAP – 检索所有属性/值的列表?

前端之家收集整理的这篇文章主要介绍了c# – LDAP – 检索所有属性/值的列表?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否可以从LDAP中检索所有属性/值的列表,而不指定,如果可以这样做呢?

解决方法

我抓住我的DirectoryEntry类对象的所有参数的列表.我希望它会有所帮助:
objectClass = System.Object[]
cn = Administrator
sn = Kwiatek (Last name)
c = PL (Country Code)
l = Warszawa (City)
st = Mazowieckie (Voivodeship)
title = .NET Developer
description = Built-in account for administering the computer/domain
postalCode = 00-000
postOfficeBox = Warszawa Ursynów
physicalDeliveryOfficeName = Wojskowa Akademia Techniczna
givenName = Piotr (First name)
distinguishedName = CN=Administrator,CN=Users,DC=helpdesk,DC=wat,DC=edu
instanceType = 4
whenCreated = 2012-11-23 06:09:28
whenChanged = 2013-02-23 13:24:41
displayName = Piotr Kwiatek (Konto administratora)
uSNCreated = System.__ComObject
memberOf = System.Object[]
uSNChanged = System.__ComObject
co = Poland
company = HELPDESK
streetAddress = Kaliskiego 2
wWWHomePage = http://www.piotr.kwiatek.org
name = Administrator
objectGUID = System.Byte[]
userAccountControl = 512
badPwdCount = 0
codePage = 0
countryCode = 616
badPasswordTime = System.__ComObject
lastlogoff = System.__ComObject
lastlogon = System.__ComObject
logonHours = System.Byte[]
pwdLastSet = System.__ComObject
primaryGroupID = 513
objectSid = System.Byte[]
adminCount = 1
accountExpires = System.__ComObject
logonCount = 178
sAMAccountName = Administrator
sAMAccountType = 805306368
objectCategory = CN=Person,CN=Schema,CN=Configuration,DC=edu
isCriticalSystemObject = True
dscorePropagationData = System.Object[]
lastlogonTimestamp = System.__ComObject
mail = spam@kwiatek.org
nTSecurityDescriptor = System.__ComObject
@H_404_8@在这里你有代码

string currentUserSid = WindowsIdentity.GetCurrent().User.Value;

            PrincipalContext ctx = new PrincipalContext(
                ContextType.Domain,"helpdesk.wat.edu");

            UserPrincipal up = UserPrincipal.FindByIdentity(
                ctx,IdentityType.Sid,currentUserSid);

            /*
             * 
             */
            DirectoryEntry entry = up.GetUnderlyingObject() as DirectoryEntry;
            PropertyCollection props = entry.Properties;

            /*
             * 
             */
            foreach (string propName in props.PropertyNames)
            {
                if (entry.Properties[propName].Value != null)
                {
                    Console.WriteLine(propName + " = " + entry.Properties[propName].Value.ToString());
                }
                else
                {
                    Console.WriteLine(propName + " = NULL");
                }
            }


            Console.ReadKey();

猜你在找的C#相关文章