LDAPからすべての属性/値のリストを取得することは可能ですか?LDAP - すべての属性/値のリストを取得しますか?
答えて
戻す属性のリストで唯一の値として「*」を指定します。
操作属性を追加する場合は、リストに「+」を追加します。
ありがとうございました。 search.PropertiesToLoad.Add( "*"); search.PropertiesToLoad.Add( "+"); – DFTR
DirectoryEntryを使用してプロパティのリストを生成することができます。それぞれのプロパティを使用してプロパティのリストを調べる必要があります。
DirectoryEntry objADAM = default(DirectoryEntry);
string properties = string.Empty;
foreach (string property in objADAM.Properties.PropertyNames)
{
properties += property + ", ";
}
それはC#とActive Directoryに来るときはいつもしかし
http://www.codeproject.com/KB/system/everythingInAD.aspx
を参照することができます。
UPDATE:http://www.codeproject.com/Articles/18102/Howto-Almost-Everything-In-Active-Directory-via-C
はい - ただし、** only **は、その特定の 'DirectoryEntry'の値が割り当てられているプロパティを取得します。これは可能なプロパティのリスト全体を列挙しません** –
'http:// www.codeproject.com/KB/system/everythingInAD.aspx'が見つかりません – Kiquenet
まあ限りDirectoryがあるとして懸念は意味がない、一人で "すべての属性をretreiving"。 あなたが意味するか:
- すべてのユーザー彼らはSCHEMA
- にすべてのユーザーおよび操作属性
@Ghostfireは、評価されたすべてのユーザー属性と操作属性を回収するソリューションを提供します。
DirectoryEntry deUser = new DirectoryEntry("LDAP://WM2008R2ENT:389/CN=AUser,OU=MonOu,DC=dom,DC=fr");
foreach (string property in deUser.Properties.PropertyNames)
{
Console.WriteLine("\t{0} : {1} ", property, deUser.Properties[property][0]);
}
しかし、LDAP検索では、最良の方法は、あなたが盗んたいattributsを与えることであることを忘れないでください:
/* Connection to Active Directory
*/
DirectoryEntry deBase = new DirectoryEntry("LDAP://WM2008R2ENT:389/dc=dom,dc=fr");
/* Directory Search
*/
DirectorySearcher dsLookFor = new DirectorySearcher(deBase);
dsLookFor.Filter = "(sn=users)";
dsLookFor.SearchScope = SearchScope.Subtree;
dsLookFor.PropertiesToLoad.Add("cn");
dsLookFor.PropertiesToLoad.Add("givenName");
dsLookFor.PropertiesToLoad.Add("telephoneNumber");
dsLookFor.Sort = new SortOption("givenName", SortDirection.Descending);
dsLookFor.VirtualListView = new DirectoryVirtualListView(1, 0, 2);
SearchResultCollection srcUsers = dsLookFor.FindAll();
私はすべてのパラメータの私の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=helpdesk,DC=wat,DC=edu
isCriticalSystemObject = True
dSCorePropagationData = System.Object[]
lastLogonTimestamp = System.__ComObject
mail = [email protected]
nTSecurityDescriptor = System.__ComObject
そしてここであなたがコードを持っている:あなたが指定したオブジェクトクラスのスキーマを照会見なければならないすべての可能なプロパティのリストについては
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();
システムの値を取得する方法。 Object [] '、' System .__ ComObject'、 'System.Byte []'など***プロパティ***? – Kiquenet
// This will list ALL the properties from AD (between 200 and 800..or more)
// If someone has a solution for non AD servers please post it!
List<String> properties = new List<String>();
IPAddress[] ips = Dns.GetHostAddresses(Server).Where(w => w.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork).ToArray();
if (ips.Length > 0)
{
DirectoryContext directoryContext = new DirectoryContext(DirectoryContextType.DirectoryServer, ips[0].ToString() + ":389", Username, Password);
ActiveDirectorySchema adschema = ActiveDirectorySchema.GetSchema(directoryContext);
ActiveDirectorySchemaClass adschemaclass = adschema.FindClass("User");
// Read the OptionalProperties & MandatoryProperties
ReadOnlyActiveDirectorySchemaPropertyCollection propcol = adschemaclass.GetAllProperties();
foreach (ActiveDirectorySchemaProperty schemaProperty in propcol)
properties.Add(schemaProperty.Name.ToLower());
}
*** DirectoryContextの***ネームスペース***? – Kiquenet
using System.DirectoryServices.ActiveDirectory; –
を。
- 1. ldap3(python3-ldap)内のすべての属性のリストを取得します。
- 2. すべての入力ボックスを取得し、属性値を取得します
- 3. Sortableリストからすべての要素属性を取得
- 4. html辞書の属性からすべての値を取得
- 5. LDAP経由でドメインコントローラの 'highestCommittedUSN'属性を取得します。
- 6. すべての製品属性のリストをmagentoで取得
- 7. samAccountName属性値を取得するJython LDAPスクリプト
- 8. すべてのhref属性リストをPHPで取得
- 9. 属性のすべての属性と値をフィルタリングします。
- 10. CAS 4.2 LDAP属性を取得
- 11. ユーザーがLDAPに所属するすべてのグループを取得
- 12. 特定のデータのすべての属性値を取得します
- 13. DisplayName属性のすべての値を取得
- 14. VBAでADの属性を持つすべてのユーザーのリストを取得
- 15. すべてのLDAPグループメンバーシップのリストを取得
- 16. Javaを使用してldap属性PwdLastSetを取得
- 17. LDAP 2つの属性で同じ値を持つユーザーを取得するクエリ
- 18. クラス内のすべてのメソッドの属性リストを取得する
- 19. spring spのユーザ属性をldap + shibboleth idpから取得
- 20. Grails Springアプリケーション内でLDAP属性memberofを取得しています
- 21. XPathを使用して特定の属性の属性値を取得する
- 22. Request.Formの属性を持つすべてのコントロールを取得しますか?
- 23. 値属性のリストから特定の値属性を取得できません
- 24. TypeScriptの属性デコレータのリストを取得します
- 25. OO PHP - クラスからすべての属性を取得する
- 26. C#のクラスからすべての属性名を取得します
- 27. libxml2でパスの属性値を取得しますか?
- 28. jqueryのデータ属性からブール値データを取得します
- 29. ldapの特定のオブジェクトクラスによってすべての属性定義を取得する方法は?
- 30. Devise/LDAP - 追加のLDAP属性をdbに保存します
'PrincipalContext'を使って最終的な解決策を得ましたか?どの.NET Frameworkを使用しますか? – Kiquenet