91网首页-91网页版-91网在线观看-91网站免费观看-91网站永久视频-91网站在线播放

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

C#使用DirectoryEntry類操作Windows帳戶

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

這幾天使用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 實(shí)例調(diào)用Invoke,InvokeGet,InvokeSet這三個方法。此三個方法可以對對本機(jī) Active Directory 對象調(diào)用方法。操作win帳戶的Active Directory 對象就是IADsUser接口。DirectoryEntry 實(shí)例通過調(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)文章
正在查詢...
點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 欧美日韩一级 | 国产特黄级aaa | 中文字幕欧美日 | 日本中文字幕网址 | 精品综合 | 中文字幕在线影院 | 最新国产成人盗摄精品视频 | 91福利一区二区 | 国产91九色蝌蚪 | 国产黄大片 | 国产在线精 | 国产又湿又 | 日本精品在线网址 | 丝袜美腿精品 | 日韩精品免费 | 国产21页| 欧美专区日韩高清 | 国产wwwwwww | 人人干操| 成人激情午夜免费网 | 国产主播一 | 91自拍偷拍走光 | 区免费入口 | 国产一区精品自拍 | 国产夏晴子免费福利 | 国产一区在线免费 | 日本午夜免费 | 亚洲无码精品在线 | 91电影福利| 成人午夜福利 | 国产在线高清理伦片 | 国产日韩欧美大片 | 欧美三级免费观看 | 国产性高清在线观看 | 国产欧美高清视频 | 国产偷国产偷亚洲高 | 国产精品成人va | 国产天堂精品 | 国产午夜亚洲精 | 日韩高清乱码在 | 区四区在线观看 |