Modificare SharePoint online via Powershell, Sharepoint Client Object Model e CAML

Forse non tutti sanno che…

è possibile leggere, modificare e creare oggetti su SharePoint online direttamente da PowerShell. Il seguente codice effettua una connessione ad un sito SharePoint, ottiene tutti gli elementi di una lista e, per gli elementi che hanno valorizzato la colonna “Mod” a 1, modifica le colonne Created By ed Edited By:

Add-Type -Path "C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
$siteUrl = "urlsito" $password = Read-Host -Prompt "Enter password" -AsSecureString
$ctx = New-Object Microsoft.SharePoint.Client.ClientContext($siteUrl)
$credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials("admin email", $password)
$ctx.Credentials = $credentials
$web = $ctx.Web $ctx.Load($web)
$ctx.ExecuteQuery()
Write-Host $web.Title  //per leggere il titolo
$lists=$ctx.Web.Lists;

$ctx.Load($lists); $ctx.ExecuteQuery();
foreach($list in $lists)  {  Write-Host "List Title: " $list.Title;  }

$lista=$ctx.Web.Lists.GetByTitle("Nome lista")

$camlQuery = new-object Microsoft.SharePoint.Client.CamlQuery;

$camlQuery.ViewXml = "<View><Query><Where><Eq><FieldRef Name='Mod' /><Value Type='int'>1</Value></Eq></Where></Query></View>";

$listItems = $lista.GetItems($camlQuery);  $ctx.Load($listItems);  $ctx.ExecuteQuery();
foreach($item in $listItems) {   Write-Host "Title: " $item["ID"]  }

$user = "60;#Nome Cognome"
foreach($item in $listItems) {   Write-Host "Title: " $item["ID"]; $item['Author'] = $user; $item['Mod'] = "";  $item['Editor'] = $user; $item.Update() }

$ctx.ExecuteQuery()

 

I comandi dovranno essere eseguiti da una SharePoint Online Management Shell ed è necessario installare sul pc SharePoint Server 2013 Client Components SDK (scaricabile da qui: http://www.microsoft.com/en-us/download/details.aspx?id=35585 )

 

Contattaci

La tua crescita parte da qui
Per maggiori informazioni

Contattaci

    Iscriviti alla newsletter

      Tematiche d'interesse