So, I'm trying to create pages via powershell, script below:
# Get the SiteURL $SiteUrl = "https://MySiteCollectionURL" # Get the WebURL $WebUrl = "https://MyWebURL" # Get the PageLayout $PageLayoutRelUrl = "/_catalogs/masterpage/CustomPageLayout.aspx" # Get the Page URL $PageName = "Test.aspx" # Get the Title of the Page which is going to get created $PageTitle = "Test" # Initialize the Site Object $Site = Get-SPSite($SiteUrl) # Get the Publishing Site based on the SPSite $PubSite = New-Object Microsoft.SharePoint.Publishing.PublishingSite($Site) # Get the SPWeb Object $Web = Get-SPWeb $WebUrl # Initialize the PublishingWeb based on the SPWeb $PubWeb = [Microsoft.SharePoint.Publishing.PublishingWeb]::GetPublishingWeb($Web) # Get the PageLayouts Installed on the Publishing Site $Layouts = $PubSite.GetPageLayouts($False) # Get our PageLayout $PageLayout = $Layouts[$PageLayoutRelUrl] # Create a new publishing page. $Page = $PubWeb.AddPublishingPage($PageName, $PageLayout) # Assign the Title for the Page $Page.Title = $PageTitle # Update the Page $Page.Update(); # Check in the Page with Comments $Page.CheckIn("Test Comment") # Publish the Page With Comments $Page.ListItem.File.Publish("Test Publish Comment")
Every time it gets to the
AddPublishingPage command, it crashes out with the error:
Exception calling "AddPublishingPage" with "2" argument(s): "Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))"
I have the 'shell window running as administrator, I'm a farm admin, and my account can create pages though the browser.