-1

MyDomain.com のような AD ドメイン名と、MD (MD=MyDomain) のような Windows ログオン ドメイン名があります。DirectoryEntry.Propertiesコレクションを使用して AD ドメインから win logon ドメイン名を取得するにはどうすればよいですか?

4

1 に答える 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 に答える