SharePoint In Action

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

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

Single Post Navigation

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: