Вопрос

Я хочу добавить веб -часть к большому количеству существующих страниц. Есть ли какая -то команда 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:

https://www.nothingbutsharepoint.com/sites/devwiki/sp2007dev/pages/how%20To%20CREATE%20WEB%20PART%20INSTANCES%20ON%20Pages%20USING%20PowerShell%20AND%20SplimitedWebPartmanager.aspx

Этот добавляет настраиваемый веб-сайт:

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"
    }
Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top