Question

Je veux ajouter un composant WebPart à un grand nombre de pages existantes. Y at-il commande PowerShell pour ajouter un composant WebPart à une page webpart?

Était-ce utile?

La solution

Il n'y a pas de commande PowerShell, mais vous pouvez utiliser la méthode AddWebPart du la classe de SPWebPartManager pour ajouter le composant WebPart à un WebPartPage: http://msdn.microsoft.com/EN-US/library /ms157507(v=VS.90 )

Vous pouvez obtenir un objet SPWebPartManager en appelant WebPartManager.GetCurrentWebPartManager et fournissant votre WebPartPage: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.webparts.webpartmanager.getcurrentwebpartmanager(v=VS.90).aspx

Autres conseils

Il n'y a rien comme ça OOB, mais vous avez à peu près les mêmes options que PowerShell en dire une application console en C #.
theres la possibilité de coder votre propre applet de commande qui fait cela pour vous.
Sur NBSP j'ai trouvé ce script qui devrait vous aller.

Voici quelques exemples de scripts PowerShell pour ajouter webparts aux sites:

Un joli, simple, propre code pour ajouter un CEWP:

https://www.nothingbutsharepoint.com/sites/devwiki/SP2007Dev/Pages/How%20to%20create%20Web%20Part%20instances%20on%20pages%20using%20PowerShell%20and%20SPLimitedWebPartManager. aspx

Celui-ci ajoute une partie Web personnalisée:

http : //www.sharemuch.com/2010/11/17/using-powershell-to-add-and-configure-sharepoint-2010-webparts/

Et cela ajoute une webpart en page viewer - M. Hahner a fait cette blogpost surtout pour moi! http://spcrew.com/blogs/lists/posts/post.aspx ? id = 21

Voici un script simple d'ajouter un webpart à une page en utilisant PowerShell qui est testé et fin de travail.

S'il vous plaît noter que pour ajouter un composant WebPart à une webpart d'exportation page .webpart / .dwp votre disque local fichier sera au format xml.

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"
    }
Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top