如何使用PowerShell在给定的SharePoint 2010 Pages Library中创建页面

时间:2013-08-22 12:08:57

标签: sharepoint powershell sharepoint-2010

我希望能够在Pages Library中创建一个页面(并检查它是否已经存在)。

我还需要能够为其应用自定义页面布局,然后将其设置为给定网站的主页(就像在功能区中一样)。

我需要使用PowerShell完成这三个步骤(我正在编写部署脚本)。

谢谢, 丹尼尔

1 个答案:

答案 0 :(得分:4)

像这样获取您的发布网:

$SPWeb = Get-SPWeb $websiteUrl -AssignmentCollection $spAssignment
$pweb = [Microsoft.SharePoint.Publishing.PublishingWeb]::GetPublishingWeb($SPWeb)

获取页面列表:

$pages = $pweb.GetPublishingPages($pweb)

get a page layout:
$ctype = $psite.ContentTypes["Your Page Layout Content Type"]
$pageLayouts = $psite.GetPageLayouts($ctype, $true)
$pageLayouts | ForEach-Object {
  if ($_.Title -eq "Your Page Layout Title")
  {
    $layout = $_;
  }
}

查找您喜欢的页面

$pages | ForEach-Object {
    if($_.Name -eq "default.aspx")
    {
        $page = $_;
    }
}

以这种方式更新布局

if ($page -ne $null)
{
    $page.CheckOut()
    $page.Layout  = $layout; 
    $page.Update();
}

根据像这样的布局创建页面

$page = $pages.Add("new.aspx", $layout)
$page.Title = "New Title"; 
$page.Update();

根据需要更新其他字段

$item = $page.ListItem
if ($pg.PageContent -ne "")
{
    $item["Title"] = "Your Title";
    $item["Page Content"] = "Your content";
    $item.Update() 
}

登记入住&发布您的页面。

if ($page -ne $null)
{
    $item.File.CheckIn("")
    $item.File.Publish("")
    $item.File.Approve("")
}