3

Active Directory からいくつかの簡単なレポートを作成したいと考えています。ディスカッションなどを行った結果、.NET FW 3.5 以降を使用する場合は、.NET FW を使用するのが適切であることがわかりましたPrincipalContext。原則と、この新機能でできることを理解したいと思います ( とは異なりDirectoryEntryます )。

コードスケルトン

// create your domain context
PrincipalContext ctx = new PrincipalContext(ContextType.Domain, 
    "YOURDOMAIN", "OU=SomeOU,DC=YourCompany,DC=com");

// define a "query-by-example" principal - here, we search for a UserPrincipal 
// which has a password that will expire in 3 days or less
UserPrincipal userTemplate = new UserPrincipal(ctx);
userTemplate.AdvancedSearchFilter.AccountExpirationDate(DateTime.Today.AddDays(3), MatchType.LessThanOrEquals);

// instantiate searcher
PrincipalSearcher searcher = new PrincipalSearcher(userTemplate);

// enumerate matching users
foreach (Principal foundPrincipal in searcher.FindAll())
{
    UserPrincipal foundUser = (foundPrincipal as UserPrincipal);

    if (foundUser != null)
    {
        // do something with users found - e.g. send e-mail
    }
}

LDAP へのログイン用にこのプロパティをコードに追加することは可能ですか?:

  • どの LDAP が使用されているか (バージョン 2 または 3)
  • LDAP が実行されているポートを設定する方法
  • SSL 接続が必要な場合はどうすればよいですか? (別のポート、特別な要件でなければなりません)

また、AdvancedSearchFilterこの条件でいいですか?
(私は と のみを見つけましAccountExpirationDateAccountLockoutDate)

  • ユーザーのパスワードは近いうちに期限切れになります
  • ユーザーのパスワードの有効期限が切れています
  • ユーザーのパスワードの有効期限が切れるかどうかを確認する
  • ユーザー アカウントの有効期限が切れる (アカウント、パスワードなし)
  • 期限切れのユーザー アカウント (アカウント、パスワードなし)
  • ユーザー アカウントの有効期限が切れていない
4

1 に答える 1

0

返事が遅れて申し訳ありません。すべての情報を説明するこれらの2つのリンクを見つけた解決策。上記のコードと組み合わせるだけでよいのと同じです。

ドメイン パスワード ポリシーの「最小パスワード長」の値を取得する

House of Derek - パスワード期限切れメールユーティリティ

于 2013-02-07T16:54:39.720 に答える