Friday, March 14, 2014

Unable to add users to Farm Administrator's Group SharePoint 2013

In SharePoint 2010, you got a nice error message when you try to add a user to the Farm Administrators group in Central Administration.

In SharePoint 2013, not so much:


This happens even if you are a member of the Farm Administrators group.
If you look up the event in the ULS viewer, you see the answer (which is the same for SharePoint 2010 as well).

Local administrator privilege is required to update the Farm Administrators' group.

So add your account or use an account that is a member of the local admin group on your SharePoint front-end and you should be good to go. 

Best practice is to just use a local admin account to add the user and NOT add yourself to the local administrators group.

Also check out: 

You cannot add users and groups to the Farm Administrators group after you remove the BUILTIN\Administrators group from the Farm Administrators group in Windows SharePoint Services 3.0
http://support.microsoft.com/kb/926320

Thursday, March 13, 2014

Moving SharePoint Users Between Groups

How do I move users between groups?

I see this question a lot on forums and have been frustrated myself.   The solutions out there are mostly programmatically moving users between groups or copying them one by one, or better yet - create an AD group and use that to manage your group.

A simple answer is right on the rights page.   Just select all the users you want to move, and then go to Actions / E-mail users:

Now you have unique names you can cut and paste into the new group, already semi-colon delimited and guaranteed to be unique.   

Limitations

Unfortunately, there are limits - only 20 users at a time seem to be all I can create using this method.  Explanations differ on why this is true, but I have not found a workaround.

There are also limits built into the mailto function used by SharePoint  -  2083 character length:

function BtnEmailClick(viewId)
       {ULSJyi:; var emails = GetSelectedUsers(viewId, "email", ";");
   if (emails.length == 0) {
  alert(noUserEmailSelectedMsg); return false; }
  emails = "mailto:" + escapeProperly(emails);
  if (emails.length > 2083) { alert(tooManyUserEmailSelectedMsg); return false; } window.location =   emails; return false; }

So for really long lists - either rinse and repeat for every 20 users, or go the programmatic way.