.NET Kullanarak Windows Kullanıcısı Oluşturmak ve Silmek

Yazmış olduğunuz bir Windows uygulaması, Windows servisi veya ihtiyacı olan yetkilere sahit bir ASP.NET uygulaması ile Windows kullanıcısı oluşturmak istiyorsanız, aşağıdaki koddan faydalanabilirsiniz. CreateUser method’una oluşturmak istediğiniz kullanıcının adını ve parolasını vermeniz durumunda, kullanıcı oluşturulacak ve “Administrators” kullanıcı grubuna da otomatik olarak eklenecektir. Ayrıca kullanıcı silebilmek için ihtiyacınız olacak kodu da ekliyorum.

using System;
using System.DirectoryServices;

public class NTUserManagement
{
    public void CreateUser(string username, string password)
    {
        try
        {
            DirectoryEntry m_NTDirectory = new DirectoryEntry(string.Format("WinNT://{0},computer", Environment.MachineName));
            DirectoryEntry m_NewUser = m_NTDirectory.Children.Add(username, "user");
            m_NewUser.Invoke("SetPassword", new object[] { password });
            m_NewUser.Invoke("Put", new object[] { "Description", "User has been created using .NET" });
            m_NewUser.CommitChanges();

            DirectoryEntry m_UserGroup = m_NTDirectory.Children.Find("Administrators", "group");
            if (m_UserGroup != null)
            {
                m_UserGroup.Invoke("Add", new object[] { m_NewUser.Path });
            }
        }
        catch (Exception exc)
        {
            // logging...
        }
    }

    public void DeleteUser(string username)
    {
        try
        {
            DirectoryEntry m_NTDirectory = new DirectoryEntry(string.Format("WinNT://{0},computer", Environment.MachineName));
            DirectoryEntry m_User = m_NTDirectory.Children.Find(username, "user");

            if (m_User != null)
            {
                m_NTDirectory.Children.Remove(m_User);
            }
        }
        catch (Exception exc)
        {
            // logging...
        }
    }
}

Kullanımı ise tam olarak şu şekilde:

// Kullanıcı ekle:

new NTUserManagement().CreateUser("coskun", "123456");

// Kullanıcı sil:

new NTUserManagement().DeleteUser("coskun");

Leave a Reply

Your email address will not be published. Required fields are marked *

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