LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

C#使用DirectoryEntry類操作Windows帳戶

admin
2021年6月26日 23:49 本文熱度 4026

這幾天使用C#操作windows帳戶相當(dāng)糾結(jié),以前沒做過,google翻閱了不少資料,嘗試不少方法,終于解決了我的問題。

1.創(chuàng)建windows帳戶

/// <summary>
/// 創(chuàng)建Windows帳戶
/// </summary>
/// <param name="pathname"></param>
/// <returns></returns>
public static void CreateLocalUser(string username, string password, string description)
{
    DirectoryEntry localMachine = new DirectoryEntry("WinNT://" + Environment.MachineName + ",computer");
    var newUser = localMachine.Children.Add(username, "user");
    newUser.Invoke("SetPassword", new object[] { password });
    newUser.Invoke("Put", new object[] { "Description", description });
    newUser.CommitChanges();
    localMachine.Close();
    newUser.Close();
}

 

2.更改Windows帳戶密碼

/// <summary>
/// 更改Windows帳戶密碼
/// </summary>
/// <param name="username"></param>
/// <param name="oldPwd"></param>
/// <param name="newPwd"></param>
public static void ChangeWinUserPasswd(string username, string oldPwd, string newPwd)
{
    DirectoryEntry localMachine = new DirectoryEntry("WinNT://" + Environment.MachineName + ",computer");
    DirectoryEntry user = localMachine.Children.Find(username, "user");
    object[] password = new object[] { oldPwd, newPwd };
    object ret = user.Invoke("ChangePassword", password);
    user.CommitChanges();
    localMachine.Close();
    user.Close();
}

 

3.判斷Windows用戶是否存在

/// <summary>
/// 判斷Windows用戶是否存在
/// </summary>
/// <param name="username"></param>
/// <returns></returns>
public static bool ExistWinUser(string username)
{
    try
    {
        using (DirectoryEntry localMachine = new DirectoryEntry("WinNT://" + Environment.MachineName + ",computer"))
        {
            var user = localMachine.Children.Find(username, "user");
            return user != null;
        }
    }
    catch
    {
        return false;
    }
}

 

4.刪除Windows用戶

/// <summary>
/// 刪除Windows用戶
/// </summary>
/// <param name="username"></param>
/// <returns></returns>
public static bool DeleteWinUser(string username)
{
    try
    {
        using (DirectoryEntry localMachine = new DirectoryEntry("WinNT://" + Environment.MachineName + ",computer"))
        {
            //刪除存在用戶
            var delUser = localMachine.Children.Find(username, "user");
            if (delUser != null)
            {
                localMachine.Children.Remove(delUser);
            }
        }
        return true;
    }
    catch
    {
        return false;
    }
}

 

5.啟用/禁用windows帳戶

/// <summary>
/// 啟用/禁用windows帳戶
/// </summary>
/// <param name="username"></param>
public static void Disable(string username, bool isDisable)
{
    var userDn = "WinNT://" + Environment.MachineName + "/" + username + ",user";
    DirectoryEntry user = new DirectoryEntry(userDn);
    user.InvokeSet("AccountDisabled", isDisable);
    user.CommitChanges();
    user.Close();
}

操作windows帳戶的方法的訣竅在于通過DirectoryEntry 實例調(diào)用Invoke,InvokeGet,InvokeSet這三個方法。此三個方法可以對對本機 Active Directory 對象調(diào)用方法。操作win帳戶的Active Directory 對象就是IADsUser接口。DirectoryEntry 實例通過調(diào)用Invoke方法調(diào)用IADsUser接口的方法,如上面修改Windows帳戶密碼就是通過調(diào)用IADsUser接口的“ChangePassword”方法;通過InvokeGet和InvokeSet方法調(diào)用IADsUser接口的屬性,如上面的啟用/禁用windows帳戶,調(diào)用IADsUser接口的“AccountDisabled”屬性。IADsUser接口具體有什么方法和屬性可參考:

http://msdn.microsoft.com/zh-cn/library/aa746340(v=VS.85).aspx


該文章在 2021/6/26 23:49:24 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務(wù)費用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務(wù)都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
亚洲国产精品VA在线看黑屌 | 日韩精品亚洲专区在线播放 | 午夜福利国产观看视频1 | 日本一高清二区视频久而久二 | 日韩乱偷中文字幕 | 视频精品中文字幕一区二区 |