使用 PowerShell CSOM SharePoint 2013 添加 Wiki 页面库页面(不是发布 Wiki)

问题描述:

制作了一个 Wiki 页面库(不是发布 Wiki)并且可以添加具有如下内容的页面,但是当页面呈现时没有 SharePoint Chrome,只显示我的内容.这是代码.我似乎可以再添加一个属性以使母版页生效?

Made a Wiki Page Library (not the publishing wiki) and can add pages with content like below, but when the page renders there is no SharePoint Chrome, just my content shows up. here is code. I it seems there may be one more property to add so master page takes effect?

$FileCreationInformation = New-Object Microsoft.SharePoint.Client.FileCreationInformation 
        $FileCreationInformation.Url = $FileRef
        $FileCreationInformation.Overwrite = $true
        $FileCreationInformation.Content = [System.Text.Encoding]::UTF8.GetBytes($HTMLPageContent) 
        $wikiFile = $WikiPageList.RootFolder.Files.Add($FileCreationInformation)
        $ClientContext.Load($wikiFile)  
        $ClientContext.ExecuteQuery() 

如何在 SharePoint 2013 中使用 CSOM 在 Wiki 页面库中创建页面

使用 Utility.CreateWikiPageInContextWeb 方法Wiki Page Library中创建一个页面:

Function Create-WikiPage([Microsoft.SharePoint.Client.ClientContext]$Context,[string]$WikiLibraryTitle,[string]$PageName,[string]$PageContent)
{
    $wikiLibrary = $Context.Web.Lists.GetByTitle($wikiLibraryTitle)
    $Context.Load($wikiLibrary.RootFolder)
    $Context.ExecuteQuery()

    $wikiPageInfo = New-Object Microsoft.SharePoint.Client.Utilities.WikiPageCreationInformation
    $wikiPageInfo.WikiHtmlContent = $PageContent
    $wikiPageInfo.ServerRelativeUrl = [String]::Format("{0}/{1}", $wikiLibrary.RootFolder.ServerRelativeUrl, $PageName)
    $wikiFile = [Microsoft.SharePoint.Client.Utilities.Utility]::CreateWikiPageInContextWeb($Context, $wikiPageInfo)
    $context.ExecuteQuery()   
}

使用

$context = New-Object Microsoft.SharePoint.Client.ClientContext($Url)
Create-WikiPage -Context $Context -WikiLibraryTitle "KBList" -PageName "Welcome.aspx" -PageContent "Welcome to the SharePoint!"
$context.Dispose()