SharePoint Online Automation: caricare i file locali su SharePoint usando PowerShell

SharePoint Online Automation: caricare file da remoto nelle Document Library di SharePoint Online usando PowerShell

In questo post, andiamo ad esplorare Office 365 SharePoint Online.
In particolare, vedremo come caricare i vostri file da infrastrutture locali alle document library di SharePoint utilizzando PowerShell in SharePoint Online Office 365.
Si tratta di query molto comuni ed esigenze spesso avanzate dagli Amministratori che hanno bisogno di caricare i file archiviati in sistemi locali, sui siti SharePoint.

Come fare?
Aprite Windows PowerShell con diritti da Admin e copiateci lo script seguente.

SharePoint Online Automation: caricare file da remoto nelle Document Library di SharePoint Online usando PowerShell
Questo comando vi permette di caricare un file all’interno della SharePoint document library

A questo punto, dobbiamo aggiornare i seguenti dettagli:

$User= nome utente del vostro account di Office 365
$Password= password del vostro account
$Site URL= URL di SharePoint Online in cui volete copiare o spostare un documento
$Folder= location di destinazione.

$DocLibName= Il nome della Document Library in cui volete copiare i file provenienti dal sistema locale

#Specificate l’amministratore del tenant e l’URL del sito

$User=”vostro id”

$Password=”vostra password”

$SiteURL=”URL del sito/”

$Folder=”C:\Script\test”#percorso in cui volete copiare il file

$DocLibName=”Documenti”#Docs library

#Aggiungete i riferimenti ai gruppi di client SharePoint ed autenticatevi sul sito di Office 365 – necessario per CSON

Add-Type-Path”C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll”

Add-Type-Path”C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll”

#Collegatevi alla site collection

$Context=New-ObjectMicrosoft.SharePoint.Client.ClientContext($SiteURL)

$Creds=New-ObjectMicrosoft.SharePoint.Client.SharePointOnlineCredentials($User,(ConvertTo-SecureString$Password-AsPlainText-Force))

$Context.Credentials=$Creds

#Recuperate la lista

$List=$Context.Web.Lists.GetByTitle($DocLibName)

$Context.Load($List)

$Context.ExecuteQuery()

#Caricate i file

Foreach ($Filein (dir$Folder-File))

{

$FileStream=New-ObjectIO.FileStream($File.FullName,[System.IO.FileMode]::Open)

$FileCreationInfo=New-ObjectMicrosoft.SharePoint.Client.FileCreationInformation

$FileCreationInfo.Overwrite=$true

$FileCreationInfo.ContentStream=$FileStream

$FileCreationInfo.URL =$File

$Upload=$List.RootFolder.Files.Add($FileCreationInfo)

$Context.Load($Upload)

$Context.ExecuteQuery()

}

Salvate lo script qui sopra una volta effettuati tutti i cambiamenti.
In questo script, come potete vedere, è stata aggiunta la voce Add-Type -path che si riferisce ai file di riferimento di SharePoint Online Management Shell.

Inoltre, per evitare errori, vi consigliamo di seguire i seguenti passaggi.

– Assicuratevi che il componente SDK di SharePoint client sia installato sulla macchina utente. Se così non fosse, scaricate il file eseguibile (SharePoint Server 2013 Client Components SDK) ed installatelo nel vostro sistema locale;
– I percorsi SharePoint.Client.dll e Microsoft.SharePoint.Client.Runtime.dll menzionati nello script sono i medesimi della macchina utente;
– Impostate le “execution policies” per PowerShell nella macchina utente, eseguendo il Remote signed.

Eseguite ExecutionPolicyRemotesigned.

Una volta verificati tutti i pre-requisiti, siete pronti per eseguire lo script che caricherà il vostro file dal sistema locale al sito SharePoint all’interno di una document library.
A questo punto, cliccate F5 ed aspettate qualche istante per far sì che tutti i file copiati dal sistema locale vengano caricati su SharePoint Online Document Library.

Qui sotto vi mettiamo i link ad alcuni tutorial su SharePoint e PowerShell:

Getting Started with PnP PowerShell – SharePoint 2013/2016/SharePoint Online
Bulk SharePoint Online Site Collection Creation using PowerShell
PowerShell Script to deploy WSP Solution in SharePoint 2013
Working with PowerShell in SharePoint Online/2016/2013
Working with PowerShell Variables
SharePoint 2016 PowerShell Script to list all Users in Site Collection
Create a web application in SharePoint 2016 from Central Administration and using PowerShell
SharePoint 2013 backup and restore using PowerShell
Retrieve List Items Created in Last N days using PowerShell SharePoint Online
Delete list items created before N days using PowerShell in SharePoint Online