Come connettere PowerShell a SharePoint Online

PowerShell è un potente strumento per l’automazione in serie, progettato per aiutare il reparto IT di un’azienda a manipolare e coordinare le operazioni alla base di un sistema operativo, di un’applicazione o di una pagina web. Come?

Con i famosi cmdlet e i loro moduli preconfigurati.Tra cui spicca quello dedicato a SharePoint Online.

Scopriamo insieme tutti i dettagli.

Cosa trovi in questo articolo

Passaggi per account admin con autenticazione a più fattori

PowerShell: cos’è e a cosa serve

Automazione e scripting: così potremmo riassumere, in poche parole, cos’è PowerShell.

Questa piattaforma è stata infatti creata da Microsoft per aiutare i team IT a automatizzare i processi inerenti alle risorse informatiche di un’azienda usando script e comandi personalizzati.

È quindi uno strumento diretto agli utenti esperti di programmazione che non vogliono perdere tempo nel creare automazioni manualmente, una per una, e partendo sempre da zero.

Al contrario, vogliono rendere automatiche attività come l’installazione di app, la configurazione dei server o la gestione delle raccolte dei siti SharePoint in serie.

Se anche voi condividete questo obiettivo, o se avete semplicemente la curiosità di sapere cosa può fare PowerShell per il vostro business, siete nell’articolo.

Vedi intranet.ai in azione

Una intranet pronta all'uso su SharePoint Online, attiva in pochi giorni. Prenota una demo gratuita con il nostro team.

Prenota una demo

Quali sono le caratteristiche principali di PowerShell

Come anticipato nello scorso capitolo, PowerShell costituisce sia un linguaggio di scripting che una piattaforma destinata all’automazione di sistemi operativi, in particolar modo, ma anche di applicazioni e pagine web.

Riguardo i sistemi operativi, occorre sottolineare che un grande vantaggio di PowerShell è di potersi adattare alle principali piattaforme (Windows, Linux e macOS) senza problemi.

Per raggiungere il suo obiettivo, fa leva sul framework .NET, che gli permette di mettere a disposizione degli utenti diverse modalità con cui creare le proprie automazioni. Tra queste, troviamo:

  • Cmdlet.

  • Script.

  • File eseguibili.

  • Classi .NET standard.

Una breve parentesi deve essere aperta per i primi.

I cmdlet (pronunciati “command-let”) rappresentano infatti gli elementi più caratteristici di PowerShell, e i più comunemente usati dagli utenti.

Nello specifico, sono comandi leggeri e specializzati, dato che ciascuno di loro rispetta una sintassi semplice (Verbo-Sostantivo) e standardizzata che fa riferimento a una singola operazione. Alcuni esempi possono essere “Get-Llocation”, “Move-Item” e “Remove-Item”.

Tuttavia, i cmdlet possono essere combinati per creare script personalizzati secondo le logiche del “pipelining”, la funzione che permette di trasformare l’output di un comando nell’input di un altro e che, in PowerShell, lascia fluire oggetti da un cmdlet al successivo.

Il risultato del pipelining (indicato dal simbolo “|”) è una reazione a catena che consente agli utenti di ottenere soluzioni più sofisticate e di elaborare dati più complessi.

Se pensate poi che PowerShell dispone di oltre 200 cmdlet, è evidente come queste catene possano svilupparsi in termini di dimensione e di personalizzazione, potendo contare anche sull’uso di espressioni condizionali, switch (usati per sostituire un lungo susseguirsi di condizioni if/then/else), loop e variabili.

Inoltre, nonostante i cmdlet siano piuttosto auto-esplicativi, come abbiamo visto, questi vengono accompagnati da una propria documentazione, a cui potete accedere direttamente all’interno della piattaforma.

Oppure, potete usare il comando “Get-Help”, seguito da “online”, per recuperare gli articoli web che trattano del comando o della funzione che state cercando.

In questo modo, sarà più semplice per gli utenti meno esperti imparare le diverse componenti del sistema e come utilizzarle per le proprie automazioni.

Ma non è tutto.

Esistono altri due aspetti di grande importanza che dobbiamo ancora esplorare per completare la nostra panoramica.

Il primo riguarda la possibilità di utilizzare PowerShell da remoto.

Di fatto, gli utenti possono avviare comandi e script da computer remoti, facendo leva sul protocollo WS-Management oppure su Windows Management Instrumentation.

Senza dilungarci troppo, sappiate solo che il WS-Management è il protocollo sviluppato dal DMTF (Distributed Management Task Force), di cui fa parte ovviamente anche Microsoft, per poter gestire e monitorare le risorse di una rete indipendentemente dal sistema operativo che si sta utilizzando.

Windows Management Instrumentation, invece, fornisce agli utenti una rappresentazione unificata delle risorse di un sistema, consentendogli così di manipolarle da remoto.

Il secondo aspetto da sottolineare riguarda la modularità, ovvero la possibilità di organizzare i cmdlet con funzionalità correlate in moduli.

Oltre ovviamente a quelli creati dall’utente, PowerShell ne mette a disposizione 4 tipologie già configurate. Parliamo dei moduli:

  • Script.

I moduli usati principalmente per importare, esportare e gestire funzioni.

  • Binari.

I moduli che vengono manipolati per creare cmdlet con funzionalità più potenti rispetto a quelle che si possono ottenere dai normali script proposti dalla piattaforma.

  • Manifesto.

Moduli particolari, che si caratterizzano per l’essere costituiti da file di testo, usati per descrivere i componenti di un modulo.

Nello specifico, ne definiscono i cmdlet, le funzioni, i requisiti e le dipendenze, aiutando così gli utenti a sviluppare e a distribuire moduli diversi in maniera più semplice e veloce.

  • Dinamici.

I moduli configurati su richiesta di uno script.

Dato che soddisfano una necessità momentanea, generalmente non vengono memorizzati in modo permanente all’interno della piattaforma.

In più, è possibile scaricare e installare altri moduli ancora, sempre preconfigurati ma che non sono presenti in PowerShell.

Tra questi ultimi, vi sono quelli relativi alle raccolte di siti SharePoint, ai loro gruppi di utenti e impostazioni di sicurezza.

Dato che l’argomento del nostro prossimo capitolo riguarda la relazione tra PowerShell e un tenant di SharePoint Online, il modulo che ci interessa è proprio quello dedicato alla versione cloud di SharePoint. Il suo nome è “Microsoft.SharePoint.Online.Management”.

Come connettere un tenant di SharePoint Online a PowerShell

Prima di vedere insieme i passaggi da seguire per connettere PowerShell a un vostro tenant di SharePoint Online, bisogna che facciamo una piccola introduzione.

PowerShell si applica a qualunque versione di SharePoint, consentendo agli utenti di gestire le impostazioni della piattaforma a livello di organizzazione e di raccolta siti.

Tuttavia, come anticipato, è necessario scaricare e installare il modulo specifico per il tipo di tenant che si vuole connettere, a seconda che sia on-prem oppure cloud.

Nel primo caso, il modulo che serve è quello denominato “Microsoft.SharePoint.Management”; nel secondo caso, che poi è quello che esploreremo in questo capitolo, il modulo di cui dovete dotarvi è chiamato “Microsoft.SharePoint.Online.Management”.

Nonostante i cmdlet e le funzionalità che i due moduli contengono li distinguono l’uno dall’altro, è possibile trovare dei punti in comune.

Per esempio, sono sempre presenti i comandi specializzati nella creazione di una nuova raccolta di siti, definendone titolo, URL, proprietario, quota di archiviazione e gruppi di utenti con relativi permessi.

Inoltre, è possibile trovare cmdlet che permettono di ottenere report e statistiche dettagliate riguardanti l’utilizzo e la performance dei diversi siti che compongono una raccolta.

Detto questo, passiamo ora al nocciolo del nostro discorso e prendiamo il caso che vogliate usare PowerShell per gestire in batch le operazioni dietro a un vostro tenant di SharePoint Online.

Se non avete ancora installato il relativo modulo, il modo più veloce per farlo è di accedere come admin alla PowerShell Gallery e eseguire il cmdlet “Install-Module-Microsoft.SharePoint.Online.Management”.

Una volta fatto, si passa alla connessione con il tenant.

Il percorso si dirama qui in due direzioni parallele, a seconda che il vostro account admin abbia o meno l’autenticazione a più fattori (MFA).

Vediamo entrambi i casi.

1) Passaggi per account admin con autenticazione a più fattori

In breve, ecco come dovete procedere:

  • Accedete alla PowerShell Gallery.

  • Eseguite il comando “Connect-SPOService-URL(…)”, specificando l’indirizzo del vostro tenant.

  • Inserite le vostre credenziali Microsoft nella finestra che si aprirà.

  • Approvate la richiesta di accesso, soddisfando i requisiti di autenticazione.

Il gioco è fatto.

Ora che il tenant è connesso a PowerShell, potete iniziare a gestire e manipolare in serie le attività che ne costituiscono la base.

Vedrete che presto il vostro team IT non dovrà più perdere ore o intere giornate per configurare i siti della vostra azienda.

2) Passaggi per account admin senza autenticazione a più fattori

In questo caso, il procedimento diventa significativamente meno impegnativo.

Ecco cosa dovete fare:

  • Accedete alla PowerShell Gallery.

  • Eseguite il comando “Connect-SPOService-URL(…)-Credential(…)”, specificando l’indirizzo del vostro tenant e inserendo il vostro UPN, ovvero l’indirizzo mail che indica sia il vostro nome utente che il dominio.

  • Inserite la password del vostro account.

Ancora una volta, il gioco è fatto.

Serve una mano per gestire i tuoi siti SharePoint?

Ne abbiamo più di 100 per aiutare la tua azienda a:

  • Distribuire i giusti permessi agli utenti

  • Migliorare la gestione di documenti e risorse

  • Garantire la sicurezza delle informazioni condivise

  • Sviluppare web part custom e grafiche in linea con il brand

Contattaci

Cos'è intranet.ai?

intranet.ai è l'intranet aziendale pronta all'uso, progettata per ridurre i costi e i tempi di implementazione e creare un ambiente di lavoro digitale collaborativo.

  • Da 3.950 €/anno per un'intranet completa
  • 80+ applicazioni tra cui ricerca avanzata, DMS, organigramma e notifiche push
  • Integrata con SharePoint Online e Microsoft 365
intranet.ai su desktop, tablet e smartphone

L'intranet SharePoint completa integrata con Microsoft 365, a partire da 3.950 €/anno.

  • 80+ app per comunicazione, formazione e condivisione della conoscenza
  • Compatibile con Microsoft 365 e Microsoft Viva
  • Operativa entro 24 ore dall'acquisto, con 5 giorni di consulenza