Sharepoint 2010列出使用webpart的页面

时间:2011-04-06 15:26:08

标签: powershell sharepoint-2010 web-parts

我一直在尝试使用对象模型并抓取页面并列出页面上的所有webpart。我一直在使用powershell,但我对其他想法持开放态度。

我遇到的问题是在使用GetLimitedWebPartManager时,我得到了一个页面上的webpart列表,到目前为止很棒。但如果我更改了网站部分的标题,我就无法将其链接回原始网站部分。

例如,如果我在webpart Gallery中有一个标题为“my webpart”的webpart,我在第A页上使用它。我在powershell列表中看到了webpart“my Webpart”。如果我在页面或其他页面上再次添加此webpart并将标题更改为“您的Webpart”,它将显示在带有新标题的列表中,我无法将2个webpart链接在一起,显示此webpart正在使用了2次。

我检查了IDTitleUniqueIDDisplayTitle,但看不到任何链接。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您应该能够按类型链接webpart:

$w = Get-SPWeb http://localhost
$f = $w.GetFile("default.aspx")
$m = $f.GetLimitedWebPartManager([System.Web.UI.WebControls.WebParts.PersonalizationScope]::Shared)
$m.WebParts | % { $_.GetType().Name }

此代码将输出页面上每个webpart的类型,因此您可以识别页面上一个webpart的多次使用(无论标题如何)。