SharePoint 2010 - добавьте веб -сайт в Интернет с PowerShell
-
16-10-2019 - |
Вопрос
Я хочу добавить веб -часть к большому количеству существующих страниц. Есть ли какая -то команда PowerShell для добавления веб -части на страницу веб -части?
Решение
Там нет команды PowerShell, но вы можете использовать AddWebPart
Метод SPWebPartManager
Класс, чтобы добавить веб -части в WebPartPage:http://msdn.microsoft.com/en-us/library/ms157507(v=vs.90)
Вы можете получить SPWebPartManager
объект по вызову WebPartManager.GetCurrentWebPartManager
и предоставление этого своим WebPartPage
:
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.webparts.webpartmanager.getCurrentWebPartManager(V=vs.90).aspx
Другие советы
В этом нет ничего подобного, но у вас есть почти те же варианты в PowerShell, что и в приложении консоли в C#.
Таким образом, есть возможность кодирования вашего собственного командлета, который делает это для вас.
На NBSP я нашел это Сценарий, который должен заставить вас двигаться.
Вот несколько образцов сценариев PowerShell для добавления веб -частей на сайты:
Хороший, простой, чистый код для добавления CEWP:
Этот добавляет настраиваемый веб-сайт:
http://www.sharemuch.com/2010/11/17/using-powershell-to-add-and-configure-sharepoint-2010-webparts/
И это добавляет веб -частя с просмотром страниц - мистер Ханнер сделал этот пост в блоге специально для меня!http://spcrew.com/blogs/lists/posts/post.aspx?id=21
Вот простой сценарий, чтобы добавить веб -части на страницу, используя PowerShell который тестируется и работает нормально.
Обратите внимание, что для добавления веб -частей в веб -часть экспорта страницы в ваш локальный диск.
cls
asnp "*sh*"
$web=Get-SPweb -Identity "http://SP2013dev.com/sites/addwebpart/"
[xml]$webpartxml= Get-Content -Path "C:\Manju\WPRequest.xml"
$SR = New-Object System.IO.StringReader($webpartxml.OuterXml)
$XTR = New-Object System.Xml.XmlTextReader($SR)
$err=$null
$WebPartZoneID = "Topzone"
$WebPartZoneIndex = 0
try
{
$page=$web.GetFile("Pages/default.aspx");
$bool=$page.CheckedOutBy
if($bool)
{
Write-Host "Page is already Checkout to " $page.CheckedOutBy.UserLogin
$page.UndoCheckOut()
Write-Host "Page is Over ridded by " $web.CurrentUser.DisplayName + " to Add Webpart"
}
$page.CheckOut();
$wmgr=$web.GetLimitedWebPartManager($page, [System.Web.UI.WebControls.WebParts.PersonalizationScope]::Shared);
$webpart=$wmgr.ImportWebPart($XTR,[ref]$err);
$wmgr.AddWebPart($webpart,$WebPartZoneID,$WebPartZoneIndex);
$page.CheckIn('dude');
$page.Publish('Adding request Site Webpart')
"Request Site WebPart SucessfullAdded" + (Get-Date -DisplayHint Date) | Out-File -Append "C:\OutPutLog.txt"
$SR.Close();
$XTR.Close();
$web.Dispose()
}
catch
{
$ErrorMessage = $_.Exception.Message
"Request Site WebPart Failure" + $ErrorMessage + (Get-Date -DisplayHint Date) | Out-File -Append "C:\ErrorLog.txt"
}