2

次のコードを使用して、ユーザーのActiveDirectoryパスワードをリセットしています。

using (var context = new PrincipalContext( ContextType.Domain ))
{
  using (var user = UserPrincipal.FindByIdentity( context, IdentityType.SamAccountName, userName ))
  {
      user.SetPassword( "newpassword" );
  }
}

ただし、最初にログインした後でユーザーにパスワードの変更を要求できるようにする必要があります。ただし、その機能を実行するメソッド、設定、またはプロパティが見つかりません。これができることは明らかです、私は方法を見つけることができません!

4

1 に答える 1

3

新しく作成したパスワードをすぐに期限切れにする必要があります-これを試してください:

using (var context = new PrincipalContext(ContextType.Domain))
using (var user = UserPrincipal.FindByIdentity(context, IdentityType.SamAccountName, userName))
{
    user.SetPassword("newpassword");
    user.ExpirePasswordNow();
}

詳細については、ExpirePasswordNowのMSDNドキュメントを参照してください。

于 2012-12-21T19:41:22.920 に答える