MyDomain.com のような AD ドメイン名と、MD (MD=MyDomain) のような Windows ログオン ドメイン名があります。DirectoryEntry.Propertiesコレクションを使用して AD ドメインから win logon ドメイン名を取得するにはどうすればよいですか?
1 に答える
0
おそらく、これを使用できます:
string username = "<username>";
DirectoryEntry de = new DirectoryEntry(
"LDAP://" + ConfigurationManager.AppSettings["ADDomain"],
ConfigurationManager.AppSettings["ADUsername"],
ConfigurationManager.AppSettings["ADPassword"]);
DirectorySearcher ds = new DirectorySearcher(de);
ds.Filter = string.Format("samaccountname={0}",
(username.Split('\\').Length > 1) ? username.Split('\\')[1] : username);
SearchResult result = ds.FindOne();
if (result == null)
throw new ArgumentException(
string.Format("Username '{0}' does not exist in the active directory", username), "username");
その後、SearchResult オブジェクトの Properties コレクションを使用して、ユーザー オブジェクトから情報を取得できます (result.Properties["samaccountname"] など)。いくつかの便利なキーは次のとおりです。
- リスト アイテム samaccountname (Windows ユーザー名)
- リスト項目displayName(フルネーム)
- リスト アイテム 電話番号
- リストアイテムメール(メールアドレス)
- リストアイテム部門(ユーザーが所属する部門)
于 2011-10-06T08:10:12.350 に答える