C# ile Active Directory Kullanıcı Şifresi Değiştirme

Active Directory (AC) üzerinde kullanıcı şifresi değiştirmek için öncelikle projemize System.DirectoryService ve System.DitectoryService.AccountManagement dll lerinin projeye referans olarak verilmesi gerekmektedir.


using (var context = new PrincipalContext(ContextType.Domain, DomainName, UserName, Password))
{
using (var user = UserPrincipal.FindByIdentity(context, IdentityType.SamAccountName, userName1))
{
user.SetPassword(password1);
}
}

  • DomainName: Üzerinde çalışılan domain adı (string)
  • UserName: Sunucuya bağlanmak için kullanılacak olan kullanıcı adı
  • Password: Sunucuya bağlanmak için kullanılacak olan şifre
  • userName1: Şifresi değiştirilecek olan kullanıcı
  • password1: Kullanıcıya atanacak yeni şifre

Burada PrincipalContext nesnesi “new PrincipalContext(ContextType.Domain)” olarak oluşturulursa programımız çalışırken Windows hesabından doğrulama alır.

Program çalışırken LDAP sunucusuna bağlanamama hatası vermesi durumunda domain adını sunucudaki adıyla tam olarak yazın. Örneğin domain adınız “erciyes” ise tam adı da “erciyes.local” ise constructure parametresine “erciyes.local” olarak yazın.

2 thoughts on “C# ile Active Directory Kullanıcı Şifresi Değiştirme

Add yours

  1. C# ile windows kullanıcı şifresi nasıl değiştirilir yardımcı olursanız sevinirim.

    1. local kullanıcı şifesi değiştirmek için aynı kodu kullanabilirsiniz. Ancak PrincipalContext parametresine ContextType.Machine vermeniz gerekmektedir.
      var Context = new PrincipalContext(ContextType.Machine);
      var User = UserPrincipal.FindByIdentity(Context, IdentityType.SamAccountName, username);
      User.ChangePassword(eski_sifre, yeni_sifre);

      veya yönetici yetkisine sahipseniz yazıdaki gibi direk setPassword metodu da kullanabilirsiniz.

Yorum Yapın

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Proudly powered by WordPress | Theme: Baskerville 2 by Anders Noren.

Up ↑

%d blogcu bunu beğendi: