All of the available out-of-the-box content types and their related columns in SharePoint Server 2013 are listed here in a post @JKevinParker

You can also find the xml for most of the built in content types at your SharePoint server under the 15 hive folder TEMPLATE\FEATURES\ctypes\


Here is the PowerShell to fetch all content types on a web

$site = Get-SPSite http://SharePointSite

$web = $site.RootWeb

foreach ($ctype in $web.ContentTypes) {$ctype.Name}


Go here for SharePoint Online content types in Powershell

Content Type IDs

Content type IDs uniquely identify the content type and are designed to be recursive. Read more here about the way to construct a valid content type ID:

Tags: , | Categories: SharePoint Development | Tips and tricks

When using the PowerShell command Mount-SPContentDatabase or adding content database through the Central Admin you will receive this error message:

The SELECT permission was denied on the object 'sysobjects', 
database 'mssqlsystemresource', schema 'sys'.

if the SharePoint Admin account has the deny permissions checked. The easy fix was to open SQL Server Management Studio and modify the roles of the admin account on the content database.

  • db_denydatareader
  • db_denydatawriter

Make sure that db_denydatareader and db_denydatawriter are unchecked on the user. 

Thank you Steve! 


Tags: , , , | Categories:

Got the error while scripting content type modifications with PowerShell and SharePoint 2010.



Error System.Management.Automation.MethodInvocationException: Exception calling 
"Update" with "1" argument(s): "The collection cannot be modified." ---> Microso
ft.SharePoint.SPException: The collection cannot be modified.
   at Microsoft.SharePoint.SPContentType.Update(Boolean updateChildren, Boolean
ignoreSealedOrReadOnly, Boolean throwOnSealedOrReadOnly, IList`1 exceptions)
   at Microsoft.SharePoint.SPContentType.Update(Boolean updateChildren)
   at Update(Object , Object[] )
   at System.Management.Automation.DotNetAdapter.AuxiliaryMethodInvoke(Object ta
rget, Object[] arguments, MethodInformation methodInformation, Object[] original


I was using the AvailableContentTypes[$contentTypeName] to get the content type I wanted to change. But content types retrieved from this collection (as oppose to SPWeb.ContentTypes) are read-only.

$field = $web.Fields[$fieldName]
$cType = $web.AvailableContentTypes[$contentTypeName]
$fLink = new-object Microsoft.SharePoint.SPFieldLink $field

The correct way is using the SPWeb.ContentTypes collection as the following code:

$field = $web.Fields[$fieldName]
$cType = $web.ContentTypes[$contentTypeName]
$fLink = new-object Microsoft.SharePoint.SPFieldLink $field


Tags: , | Categories: SharePoint Development

Todd Klindt has made a very useful SumUp on how to create different SharePoint Admin Permissions.

For more information, take a look at Todds post Demystifying SharePoint Admin Permissions at Todd Klindt's SharePoint Admin Blog

Web Application Policy

How Do You Give It?

In Central Admin > Manage Web Applications > Policy for Users

Farm Administrators in Central Admin

How do you give it?

In Central Admin > Security > Farm Administrators


How do you give it?

From PowerShell with the Add-SPShellAdmin cmdlet.

Service App Administrator

How do you give it?

Central Admin > Service Application Management. Highlight the service application and click “Administrators" in the ribbon. Add the user to the Administrators list.

Tags: , , | Categories: Tips and tricks | SharePoint Configuration