Skip to main content

Adding Site Administrators to a Site Collection


If you want to add a SiteAdministrator to a SiteCollection you can't add the user to the SPUserCollection SPWeb.SiteAdministrators.
SPWeb.SiteAdministrators.Add()
SPUserCollection SPWeb.SiteAdministrators is of type SPUserCollectionType.UCT_SiteAdmins (6), which appears that SharePoint is not taking care of.
If it's a bug, i don't know.

Instead you have to set the property IsSiteAdmin of the SPUser to True;
SPWeb web = SPContext.Current.Web;
SPUser user = web.AllUsers["loginName"];
user.IsSiteAdmin = true;
user.Update();

Comments

  1. Can I do this via REST API or any webservice? I'm using Office365, and I need to add a user (who is NOT a site user) as Site Collection Admin on the OneDrive (my site) for another tenant user. I can do this via Powershell but I wish to achieve this through APIs. How can I achieve this?

    ReplyDelete

Post a Comment

Popular posts from this blog

Error when running Register-SPAppPrincipal

Problem You get the error, "Cannot find an SPWeb object with Id or Url" , when trying to get the RootWeb of the SPSite object when you register a new app with the Register-SPAppPrincipal PowerShell cmdl. Register-SPAppPrincipal -NameIdentifier $appPrincipalIdentifier -Site $site.RootWeb -DisplayName 'ProviderHostedApp' The cause could be The user who is running the script is NOT a farm administrator. Fix the problem Add the user to the farm administrator group

Enable PowerShell commandlets for SharePoint 2013 in PowerShell ISE

Open the PowerShell ISE and create a profile by running the following code: if (!(test-path $profile.AllUsersAllHosts)) { new-item -type file -path $profile.AllUsersAllHosts-force } Open the newly created profile with the following command: psEdit $profile.AllUsersAllHosts The profile will be open in the PowerShell ISE. Add the following code to the profile: (If the profile for some reason doesn't open then you can get it here: C:\Windows\System32\WindowsPowerShell\v1.0\profile.ps1) if ((Get-PSSnapIn -Name Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue) -eq $null ) { Add-PSSnapIn -Name Microsoft.SharePoint.PowerShell } Save the profile. Next time you open the PowerShell ISE you will have all the Microsoft.SharePoint.PowerShell commandlets.

Can't read from source file or disk

When you are using Windows Explorer View in SharePoint you can't MOVE a file from one site to another if it's not directly below the root site, but you can copy the file. See the different scenarios below. Working Scenario Moving files between libraries within the same site. For example: "http://sharepointsite/sites/site1/site2/library1" (source) "http://sharepointsite/sites/site1/site2/library2" (destination) Moving files between libraries across different sites as long as they are directly below the root site. For example: "http://sharepointsite/site1/library1 (source) "http://sharepointsite/site2/library2 (destination) Non-working Scenario Moving files between libraries in sub-sites that are more than 1 level below the root site. For example: "http://sharepointsite/sites/site1/site1/library1" (source) "http://sharepointsite/sites/site1/site2/library2" (destination)