SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Im trying to automate as much of the upgrade I am working on and one of the manual steps is to change the page layout of 5 root webs of site collections, each of which has to have this new page layout uploaded to it as well as the content type changed.

I have script to upload the page layout, and change the page layout of the page, but not change the content type of the layout.

Is the content type an exposed property of the page layout? If so, how would I access it?

share|improve this question
up vote 1 down vote accepted

Here is a different looking approach since it has used Module.File.Property and Elements.xml to update the pages:

share|improve this answer

You can update the associated content type by this indirect route. Suppose you have a content type name $contentTypeName, a web $web, and the list item of your page layout, $item.

$item.Properties["PublishingAssociatedContentType"] = ";#" + $contentTypeName + ";#" + $web.AvailableContentTypes[$contentTypeName].Id.ToString() + ";#"
$item.File.CheckIn("system update")
$item.File.Approve("system update")

Source: Rob Garrett's blog

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.