Introduzione alla Gestione di SharePoint con PowerShell

Il centro amministrativo di SharePoint ti annoia, lo trovi carente e vuoi passare alla riga di comando? Sì, è possibile con il modulo Gestione di SharePoint Online con PowerShell.

Questo modulo ti permette di svolgere le stesse attività che normalmente fai nel centro amministrativo di SharePoint in PowerShell. Inoltre, puoi automatizzare le tue attività in SharePoint Online!

Questo tutorial spiega i concetti di base della Gestione di SharePoint Online con PowerShell. Imparerai a installare il modulo, svolgere le attività amministrative comuni e automatizzare le azioni ripetitive. Non andare da nessuna parte e tuffati subito!

Prerequisiti

Questo tutorial sarà una dimostrazione pratica. Se desideri seguirla, assicurati di avere quanto segue:

  • Devi conoscere l’URL di amministrazione di SharePoint Online e l’URL del portale. Fai riferimento a questo link per sapere come ottenere l’URL di amministrazione di SharePoint Online nel tuo tenant.

Questo tutorial utilizzerà l’URL del portale HTTPS://lzex.sharepoint.com e l’URL di amministrazione HTTPS://lzex-admin.sharepoint.com.

  • Windows PowerShell 5.1 o l’ultima PowerShell 7 su Windows. Questo tutorial utilizza Windows PowerShell 5.1 su Windows 10.

Installazione del modulo PowerShell SharePoint Online

Per gestire SharePoint Online con PowerShell, è necessario installare prima il modulo PowerShell SharePoint Online Management. Questo modulo fornisce i cmdlet che consentono di connettersi e gestire l’organizzazione e le risorse di SharePoint online.

Il modo più rapido e conveniente per installare il modulo PowerShell SharePoint Online è dalla PowerShell Gallery utilizzando il cmdlet Install-Module. Per farlo, seguire i seguenti passaggi.

1. Aprire PowerShell come amministratore.

2. Eseguire il comando seguente. Questo comando installa il modulo Microsoft.Online.SharePoint.PowerShell.

Install-Module -Name Microsoft.Online.SharePoint.PowerShell

3. Per confermare che l’installazione del modulo è riuscita, eseguire il comando seguente per ottenere le informazioni sul modulo.

Get-Module -Name Microsoft.Online.SharePoint.PowerShell -ListAvailable | Select-Object Name,Version

Il comando restituisce il nome e la versione del modulo. Come si può vedere di seguito, c’è una versione del modulo Microsoft.Online.SharePoint.PowerShell in questo computer. L’ultima versione al momento della scrittura è 16.0.22615.12000.

Listing the PowerShell SharePoint Online module information

4. Infine, importa il modulo SharePoint di PowerShell eseguendo il comando seguente in PowerShell.

Nota: Anche se il modulo PowerShell SharePoint Online funziona con PowerShell 7, devi importare esplicitamente il modulo con lo switch -UseWindowsPowerShell.

# In Windows PowerShell 5.1
Import-Module Microsoft.Online.SharePoint.PowerShell

# In PowerShell 7x
Import-Module Microsoft.Online.SharePoint.PowerShell -UseWindowsPowerShell

Ignora l’avviso sui verbi non approvati. Questo avviso ti informa sui cmdlet che non iniziano con verbi approvati nella lista Get-Verb ma non influiscono sulla funzionalità del modulo.

Per evitare questo avviso, aggiungi lo switch -DisableNameChecking al cmdlet Import-Module.

Importing the PowerShell SharePoint Online module

Connessione a PowerShell SharePoint Online

Ora sei pronto per connetterti alla sessione di PowerShell SharePoint Online. Ma prima di farlo, comprendi che la sintassi e il metodo varieranno a seconda dello stato di autenticazione multifattore del tuo account amministratore.

Account amministratore senza MFA

Se il tuo account amministratore non ha abilitato MFA, esegui il comando seguente Connect-SPOService. Specifica l’URL del tuo amministratore dopo il parametro -Url e il tuo nome utente principale (UPN) dopo il parametro -Credential.

Connect-SPOService -Url <https://tenant-admin.sharepoint.com/> -Credential spoadmin@domain.com

Digita la tua password al prompt successivo e premi Invio.

Connect SPOService
Connecting to PowerShell SharePoint online without MFA

Il parametro -Credential accetta anche un oggetto PSCredential, che puoi creare con il cmdlet Get-Credential.

Account amministratore con MFA

Per un account amministratore MFA, segui i passaggi seguenti per connetterti alla sessione di PowerShell di SharePoint Online.

1. Esegui il comando seguente in PowerShell. Assicurati di specificare l’URL dell’amministratore di SharePoint corretto.

Connect-SPOService -Url https://tenant-admin.sharepoint.com/

2. Nella finestra di accesso che compare, digita il tuo nome utente amministratore e fai clic su Avanti.

Type the SharePoint admin username

3. Successivamente, digita la password dell’account amministratore e fai clic su Accedi.

Enter the account password

4. Infine, completa la tua sfida MFA. A seconda di come hai configurato MFA per il tuo account, il metodo MFA può differire dalla schermata sottostante.

Completing the MFA challenge

Dopo aver completato questi passaggi, la tua connessione a PowerShell di SharePoint online dovrebbe essere attiva ora.

Gestione di siti, utenti e gruppi utilizzando il modulo PowerShell di SharePoint

Attraverso PowerShell, puoi eseguire alcune funzionalità che SharePoint fornisce a SharePoint Online e a varie risorse. In questa sezione, eseguirai le tipiche attività di SharePoint Online, come la creazione di siti, la creazione di gruppi, l’aggiunta di utenti, la rimozione di utenti dai gruppi e la generazione di report sugli utenti.

Creazione di un nuovo sito SharePoint

Sfruttando il comando New-SPOSite, puoi creare un nuovo sito SharePoint Online. Supponiamo che tu stia creando un nuovo sito del team moderno chiamato Il mio primo sito del team, esegui i seguenti passaggi.

1. Per prima cosa, ottieni il nome del modello del sito del team.

Get-SPOWebTemplate

Cerca il modello che desideri applicare al nuovo sito. In questo esempio, copia il valore del Nome del modello del sito del Team (senza gruppo Microsoft 365), STS#3.

Listing all available SharePoint web templates

2. Ora, esegui il comando seguente per creare il sito del Team moderno. Assicurati che i seguenti parametri siano completi.

  • URL - Specifica l'URL del nuovo sito. Questa struttura URL segue questa convenzione - HTTPS://<tenant>.sharepoint.com/sites/<site-slug>.

Assicurati che l’URL sia unico. La creazione del sito fallirà se esiste un sito con lo stesso URL, anche se il sito è nel cestino.

  • Titolo – Imposta il titolo per il tuo nuovo sito.
  • Proprietario - Assegna il nome principale utente del proprietario del sito.

Nota: SPO imposta automaticamente il gruppo Amministratore dell’azienda come proprietario del sito se il proprietario che specifica ha un ruolo di amministratore.

  • Modello – Indica il modello web che stai applicando al nuovo sito.
  • Quota di archiviazione - Configura il valore della quota di archiviazione del sito in MB.

Nota: Il valore della quota di archiviazione ha effetto solo se il Limite di archiviazione del sito nella tua organizzazione SharePoint Online è impostato su Manuale. Se l’impostazione è Automatica, la quota di archiviazione totale del tenant ha la precedenza.

New-SPOSite `
    -Url 'https://lzex.sharepoint.com/sites/MyFirstTeamSite' `
    -Title 'My First Team Site' `
    -Owner '[email protected]' `
    -Template 'STS#3' `
    -StorageQuota 1000

Se la creazione del sito ha successo, non riceverai alcuna risposta o messaggio in PowerShell.

3. Conferma che il nuovo sito esiste eseguendo il cmdlet Get-SPOSite.

Get-SPOSite -Identity 'https://lzex.sharepoint.com/sites/MyFirstTeamSite'
Getting the new SPO site details

4. Infine, apri l’URL del sito SharePoint nel tuo browser web per confermare che il sito funzioni.

Opening the new SPO site in the browser

Creazione di gruppi del sito e aggiunta di utenti

Dopo aver creato un nuovo sito SPO, puoi iniziare a creare gruppi e aggiungere utenti con livelli di autorizzazione specifici. In questa sezione, imparerai come creare gruppi e aggiungere utenti a tali gruppi.

Prima, crea i gruppi che seguono le specifiche nella tabella sottostante.

Per ottenere un elenco dei livelli di autorizzazione, visita la documentazione su Autorizzazioni utente e livelli di autorizzazione in SharePoint Server.

Site Group PemissionLevels
https://tenant.sharepoint.com/sites/MyFirstTeamSite Editing Team Edit
https://tenant.sharepoint.com.sites/MyFirstSite Design Team Design

Per creare gruppi, è necessario eseguire il cmdlet New-SPOSiteGroup. Esegui i comandi seguenti per creare i gruppi.

# Definisci l'URL del sito.
$siteURL = '<https://lzex.sharepoint.com/sites/MyFirstTeamSite>'
# Crea il gruppo 'Editing Team' con autorizzazione 'Modifica' sul sito.
New-SPOSiteGroup -Site $siteURL -Group 'Editing Team' -PermissionLevels Edit
# Crea il gruppo 'Design Team' con autorizzazione 'Design' sul sito.
New-SPOSiteGroup -Site $siteURL -Group 'Design Team' -PermissionLevels Design
Creating new groups on the SPO site

Successivamente, aggiungi gli utenti che desideri siano membri dei gruppi. Per farlo, esegui i comandi Add-SPOUser qui sotto.

# Aggiungi un utente al gruppo del sito 'Editing Team'
Add-SPOUser -Site $siteURL -Group 'Editing Team' –LoginName spoeditor@lzex.ga
# Aggiungi un utente al gruppo del sito 'Design Team'
Add-SPOUser -Site $siteURL -Group 'Design Team' –LoginName spodesigner@lzex.ga

Dopo ogni esecuzione del comando, riceverai risultati simili allo screenshot qui sotto.

Adding users to SPO site groups

Generazione di un elenco degli utenti del sito

Sfruttando il comando Get-SPOUser, puoi generare quali utenti possono accedere al sito.

Esegui il comando qui sotto per generare l’elenco degli utenti sul My First Team Site.

Get-SPOUser -Site <https://lzex.sharepoint.com/sites/MyFirstTeamSite> | Format-Table -Wrap -AutoSize | Out-File <path-to-savereport> -Force -Width 360 -Append

Il risultato assomiglierebbe allo screenshot qui sotto. Come puoi vedere, l’output ti mostra l’elenco degli utenti e i loro gruppi di appartenenza.

Getting the list of users on the SPO site

Puoi anche esportare i risultati in diversi tipi di file, tra cui CSV, XML, JSON, YAML, HTML e testo semplice.

Rimuovere gli utenti dai gruppi del sito

Potresti dover rimuovere un utente probabilmente perché l’hai aggiunto al gruppo sbagliato o perché l’utente non fa più parte del team. Il cmdlet Remove-SPOUser è lo strumento giusto per questo compito.

Ad esempio, esegui il comando qui sotto per rimuovere l’utente [email protected] dal Design Team.

Remove-SPOUser `
    -LoginName spodesigner@lzex.ga `
    -Site <https://lzex.sharepoint.com/sites/MyFirstTeamSite> `
    -Group 'Design Team'

Come puoi vedere, l’elenco Utenti nel Design Team è ora vuoto dopo aver rimosso il suo unico membro.

Removing a user for the SPO site group

Utilizzo di PowerShell SharePoint Online per l’automazione

Poiché stai lavorando con PowerShell, puoi sfruttarne il potere per l’automazione. Ad esempio, lo scripting sarebbe un approccio più pratico quando si creano più siti.

Puoi combinare il comando New-SPOSite di PowerShell SharePoint Online con comandi incorporati come Import-Csv e ForEach-Object. I seguenti passaggi ti forniscono un esempio di creazione di più siti con proprietà diverse.

1. Esegui il comando seguente per creare un nuovo file CSV chiamato sites.csv.

New-Item -Type File -Path .\sites.csv

2. Successivamente, apri il file CSV in un editor di testo. Questo esempio utilizza notepad.exe.

notepad.exe .\sites.csv

3. Copia il testo seguente nel tuo file CSV e salvalo. Assicurati di sostituire i valori Owner e Url per corrispondere alla tua organizzazione.

Owner,StorageQuota,Url,Template,Name
spoadmin@lzex.ga,100,https://lzex.sharepoint.com/sites/new-site,STS#0,Nuovo Sito
ata_dev@lzex.ga,100,https://lzex.sharepoint.com/sites/dev-site,DEV#0,Sito di sviluppo

Il tuo file CSV avrà un aspetto simile alla schermata sottostante.

Creating the CSV list of new sites

4. Esegui lo script seguente in PowerShell.

Import-Csv .\sites.csv | ForEach-Object {
    New-SPOSite `
        -Owner $_.Owner `
        -StorageQuota $_.StorageQuota `
        -Url $_.Url `
        -Template $_.Template `
        -Title $_.Name `
        -NoWait
}

Se non ci sono errori, non otterrai ulteriori risultati sullo schermo.

Creating multiple sites using the PowerShell SharePoint online script

5. Infine, esegui il comando seguente per confermare che i nuovi siti esistano.

Import-Csv .\sites.csv | ForEach-Object {
    Get-SPOSite -Identity $_.Url | Select-Object Title,Url,Owner
}
Listing the new sites

Puoi applicare la stessa tecnica appena eseguita per automatizzare attività in blocco come la creazione di gruppi di siti e l’aggiornamento dell’appartenenza ai gruppi di siti.

Conclusioni

Il modulo PowerShell di SharePoint Online ti permette di migliorare la gestione della tua organizzazione SharePoint Online. Questo modulo non è destinato a sostituire il centro amministrativo di SharePoint, ma è uno strumento per potenziare le tue competenze su SharePoint Online.

Oltre al modulo PowerShell di SharePoint Online, sapevi che un altro modulo ti permette di gestire SharePoint Online tramite PowerShell? Sì, quel modulo è il modulo PnP PowerShell. Perché non esplori anche quel modulo e confronti quale funziona meglio per te?

Source:
https://adamtheautomator.com/powershell-sharepoint/