SharePoint In Action

An attempt to share my day-to-day SharePoint experience

Archive for the tag “Active Directory”

Validating Site Admins Against Active Directory

Hi all,

I was asked to create a SharePoint 2010 web part which would verify all site admins against the company’s Active Directory.

Here is a screen-shot of  the web part I have created:

SharePoint 2010 Web Part To Verify Site Admins Against Active Directory

SharePoint 2010 Web Part To Verify Site Admins Against Active Directory

Here is the method to get and verify the site admins:

void VerifyUser()
        {
            bool distinct = cbDistinct.Checked;
            bool overload;
            SPWebApplication oWebApplication;
            int counterSiteCollectopns=0;
            int counterWebs=0;
            int counterSiteAdmins=0;
            List<SPUser> invalidAdmins;
            oWebApplication = SPWebApplication.Lookup(new Uri(txtSiteUrl.Text));


            try
            {
                foreach (SPSite oSite in oWebApplication.Sites)
                {
                    counterSiteCollectopns++;
                    lblCounterSC.Text = counterSiteCollectopns.ToString();
                    foreach (SPWeb oWeb in oSite.AllWebs)
                    {
                        counterWebs++;
                        lblCounterWeb.Text = counterWebs.ToString();
                        foreach (SPUser user in oWeb.SiteAdministrators)
                        {
                            IList<SPPrincipalInfo> users =
                            SPUtility.SearchWindowsPrincipals(
                                      oWebApplication,
                                      user.LoginName,
                                      SPPrincipalType.User,
                                      3,
                                      out overload);
                             if (users.Count == 0)
                                 invalidAdmins.Add(user);
                             counterSiteAdmins++;
                             lblCounterAdmins.Text = counterSiteAdmins.ToString();
                         }
                       }
                    }
                }
            }
            catch(Exception ex)
            {

            }
        }

        

Cheers,
Nader Heshmat

Advertisements

Post Navigation