16 Ekim 2017 Pazartesi

UserPrincipal Sınıfı

Giriş
Bu sınıf kullanıcı hesabını temsil eder.

Projeye System.DirectoryServices.AccountManagement.dll eklenmelidir. Ayrıca bu sınıf her zaman using ile kullanılmalı.

Constructor - PrincipalContext
Şöyle yaparız.
using (PrincipalContext context = ...)
{
  using (UserPrincipal usr = new UserPrincipal (context))
  {
    ...
  }
}
Constructor - PrincipalContext + accountName + password + enabled
Yeni bir kullanıcı yaratmak için şöyle yaparız.
PrincipalContext pc1 = new PrincipalContext(...);
UserPrincipal up = new UserPrincipal(pc1, "username", "password", true);
AccountLockoutTime Alanı
Açıklaması şöyle
As with all DateTime properties in System.DirectoryServices.AccountManagement, the time returned is in UTC form. To convert it to local time, call the ToLocalTime method on the return object.
Yerel saate çevirmek için şöyle yaparız.
user.AccountLockoutTime.Value.ToLocalTime().ToString("yyyy-MM-dd HH:mm");
Desciption Alanı
Şöyle yaparız.
user.Description;
DisplayName Alanı
Şöyle yaparız.
user.DisplayName;
DistiguishedName Alanı
Şöyle yaparız.
user.DistinguishedName;
FindByIdentity metodu - PrincipalContext +IdentityValue
Şöyle yaparız.,
UserPrincipal user = UserPrincipal.FindByIdentity(ctx, userName);
FindByIdentity metodu - PrincipalContext + IdentityType + IdentityValue
Şöyle yaparız.
string username = ...;
using (PrincipalContext pc = ...)
{
  using (UserPrincipal user = UserPrincipal.FindByIdentity(pc, 
    IdentityType.SamAccountName, username))
  {
    ...
  }
}
GetUnderlyingObject metodu
Şöyle yaparız.
DirectoryEntry entry = user.GetUnderlyingObject() as DirectoryEntry;
GiveName Alanı
Şöyle yaparız.
user.GivenName;
HomeDrive Alanı
Şöyle yaparız.
user.HomeDrive;
IsLockedAccount Alanı
Şöyle yaparız.
UserPrincipal usr = ...;
usr.IsAccountLockedOut(); //Gets if account is locked out
IsMemberOf metodu
Şöyle yaparız.
using (UserPrincipal user = ... )
using (GroupPrincipal group = ...)
{
  if (null != group && user.IsMemberOf (group))
  {
    return true;
  }
}
Name Alanı
Şöyle yaparız.
user.Name;
SamAccountName Alanı
Şöyle yaparız.
user.SamAccountName;
Save metodu
Kullanıcıyı kaydetmek için şöyle yaparız.
PrincipalContext pc1 = new PrincipalContext(ContextType.Domain, "domain1.company.com",
  "DC=domain1,DC=company,DC=com", ContextOptions.Negotiate);
UserPrincipal up = new UserPrincipal(pc1, "username", "password", true);
up.Save();
Surname Alanı
Şöyle yaparız.
user.Surname;


Hiç yorum yok:

Yorum Gönder