`

sharepoint:修改域账号密码和本机密码的代码和范例

阅读更多

在sharepoint中没有提供修改密码的功能,估计也是因为不知道用户会使用哪种验证方式,AD or Form?

 

下面的用户使用的是AD验证,自己修改密码就成了很普通的事情,我们自己做一个webpart,写一些后台代码,

在欢迎哪里加一个菜单项,跳转到部署了修改密码webpart的页面就可以了。

 

#region 更改密码主要代码

        public string ChangeADUserPassword(string DomainName, string UserName, string oldPass, string newPass)
        // 用法:ChangeADUserPassword("AD", "VIRUS", "12345", "23456")
        {
            try
            {
                string strLDAP = "LDAP://" + DomainName;

                string fullLoginName = DomainName + "\\" + UserName;

                using (DirectoryEntry objDE = new DirectoryEntry(strLDAP, DomainName + "\\" + UserName, oldPass))
                {
                    DirectorySearcher deSearcher = new DirectorySearcher(objDE);
                    deSearcher.Filter = "(&(objectClass=user)(sAMAccountName=" + UserName + "))";
                    DirectoryEntry usr = deSearcher.FindOne().GetDirectoryEntry();
                    usr.Invoke("ChangePassword", new Object[2] { oldPass, newPass });
                    usr.CommitChanges();
                }
                return ("更改域用户密码,操作成功!");
            }
            catch (Exception ex)
            {
                return ("更改失败,错误信息:" + ex.Message);
            }

        }

        public static string ChangeLocalUserPassword(string LocalHostName, string UserName, string oldPass, string newPass, string AdminName, string AdminPass)
        {

            try
            {

                DirectoryEntry AD = new DirectoryEntry("WinNT://" + LocalHostName + ",computer");
                DirectoryEntry NewUser = AD.Children.Find(UserName);
                NewUser.Invoke("SetPassword", new object[] { newPass });
                NewUser.CommitChanges();

                return ("更改本机密码,操作成功!");

            }
            catch (Exception ex)
            {
                return ("更改失败,错误信息:" + ex.Message);
            }

        }

        #endregion

 

使用的时候就像下面一样,首先判断,机器名和域名是否相同,就知道是否在域中,然后决定用哪个修改密码的方法。

if (Environment.MachineName == Environment.UserDomainName)
                {
                    SPSecurity.RunWithElevatedPrivileges(delegate() { lblErrorMessage.Text = ChangeLocalUserPassword(Environment.MachineName, lblMessage.Text.Substring(0, lblMessage.Text.IndexOf(" ")), txtOldPassword.Text, txtNewPassword.Text, "", ""); });
                }
                else
                {
                    lblErrorMessage.Text = ChangeADUserPassword(Environment.UserDomainName, Environment.UserName, txtOldPassword.Text, txtNewPassword.Text);
                }
分享到:
评论

相关推荐

    Sharepoint中修改AD账号密码webpart

    在本场景中,我们关注的是一个特定的Web部件,它允许用户在SharePoint页面上直接修改Active Directory(AD)域中的账号密码。这个Webpart是一个预先构建的解决方案,名为"Sharepoint中修改AD账号密码webpart",它为...

    SharePoint中修改密码的WEB Part之终极版:即可以修改AD,又可以修改本机用户密码的Web Part!!

    标题提到的"SharePoint中修改密码的WEB Part之终极版"是一个定制的Web部件,它集成了AD和本机用户密码修改功能,为用户提供了一站式的解决方案。接下来,我们将深入探讨这个Web Part的功能、实现原理以及可能的应用...

    Sharepoint 2013 修改AD密码 切换用户

    当AD域中的用户密码需要更改时,这会影响到用户在SharePoint站点上的登录和访问权限。本文将深入探讨如何修改AD密码以及在SharePoint 2013中切换用户,以便以其他用户的身份登录。 1. **AD密码修改流程**: - 打开...

    sharepoint隐藏列表操作项

    本篇文章将详细解析如何隐藏SharePoint列表中的操作项。 首先,我们要了解`<SharePoint:SiteActions>`控件。它是SharePoint中用于呈现站点动作菜单的关键组件,这个菜单通常包含编辑页面、创建新内容、查看所有站点...

    SharePoint2021 以其他用户登录和修改AD域用户密码.docx

    总结来说,要实现在SharePoint 2021中以其他用户登录和修改AD域用户密码,开发者需要具备SharePoint自定义开发能力,包括理解CustomAction、应用程序页面的创建以及与AD交互的逻辑。通过这样的自定义开发,可以增强...

    RJRS.SharePoint.PasswordChangeWebPart.zip

    SharePoint 2013的修改域用户密码WebPart,而海外公司的老外又有这方面的强烈需求,公司的Sharepoint集成供应商没法提供Sharepoint 2013的修改密码解决方案,因此经过几天的深入专研,解决了多域环境下修改域用户...

    sharepoint树形结构开发

    然后,在高级模式下编辑文件,找到 `<SharePoint:AspMenu>` 标签,并将其替换为 `<SharePoint:SPHierarchyDataSourceControl>` 和 `<SharePoint:SPTreeView>`标签。 `<SharePoint:SPHierarchyDataSourceControl>` ...

    配置SharePoint站点的域认证和表单认证双重认证(完整

    总结起来,配置SharePoint站点的域认证和表单认证双重认证涉及到多个步骤,包括创建和配置表单认证数据库、扩展Web应用程序以及修改Web.config文件以支持两种认证方式。这种配置提供了更广泛的用户访问控制,能够...

    SharePoint代码

    3. **事件处理程序**:SharePoint支持事件处理,允许开发者在特定操作(如文档上传、列表项修改等)发生时执行自定义代码。通过编写事件接收器或事件处理器,可以实现对SharePoint对象模型的深入控制。 4. **...

    配置SharePoint站点的域认证和表单认证双重认证

    在 SharePoint 中配置域认证和表单认证双重认证,是为了满足不同环境下的安全需求。在某些情况下,企业可能需要同时使用域认证(Active Directory)和表单认证(Forms-Based Authentication,FBA)来确保内外部用户...

    Sharepoint修改场管理账户.zip

    SharePoint 是一个由微软开发的企业级协作平台,用于团队共享文档、项目管理、知识管理和企业社交。在SharePoint环境中,应用池(Application Pool)是IIS(Internet Information Services)的一部分,用于承载...

    Sharepoint 页面使用c#代码

    在SharePoint环境中,尤其是WSS 3.0(Windows SharePoint Services 3.0)系统,直接在存储在数据库中的页面上添加C#后台代码是不被支持的。然而,由于WSS 3.0是建立在ASP.NET 2.0的基础之上,我们可以利用ASP.NET的...

    AD域中的用户信息导入到SharePoint2010

    AD域中的用户信息导入到SharePoint2010AD域中的用户信息导入到SharePoint2010AD域中的用户信息导入到SharePoint2010AD域中的用户信息导入到SharePoint2010

    sharepoint:External用于外部存储的Nextcloud SharePoint后端

    这为用户提供了一种在他们找到其他文件的相同位置访问SharePoint数据的简便方法,从而促进了组织内和跨组织的协作和共享。 用户可以使用桌面客户​​端,移动应用程序或Web界面,并在SharePoint上注释,标记,共享...

    How to Change Domain Password in SharePoint

    本文将深入探讨如何在SharePoint中更改域密码,这对于管理员和用户来说都是一个常见的操作。 在SharePoint中,用户的登录凭证通常来源于活动目录,因此,当用户需要更改其域密码时,通常需要在AD中进行更改,而这个...

    SharePoint Manager 2010

    这款工具提供了对SharePoint对象模型的全面访问,允许用户查看、修改和管理SharePoint的各个组件,而无需编写任何代码。 在SharePoint 2010中,理解对象模型至关重要,因为它构成了平台的基础。SharePoint对象模型...

    SharePoint Foundation和SharePoint Server的区别

    SharePoint Foundation 和 SharePoint Server 作为 SharePoint 家族中的两个重要成员,各自拥有独特的定位和功能。本文将详细介绍这两者的区别,帮助读者更好地理解它们之间的差异及其应用场景。 #### 二、...

Global site tag (gtag.js) - Google Analytics