Dieci comandi PowerShell più utili per Office 365
Sep 19, 2018
Utilizzare Windows PowerShell per gestire Office 365 può sembrare strano inizialmente. Dopo tutto, le soluzioni cloud promettono semplicità e facilità d'uso — aggettivi raramente utilizzati in connessione con Windows PowerShell. Ma seguitemi. In questo articolo, vi mostrerò i dieci cmdlet di Office 365 PowerShell più utili per gli amministratori di sistema. Forse dopo aver letto queste istruzioni, concorderete sul fatto che PowerShell può essere uno strumento prezioso, anche per i sistemi basati su cloud.
1. Connessione a un'istanza di Office 365 con PowerShell
Prima, dobbiamo installare il modulo di Office 365 per Windows PowerShell e connetterci all'istanza di Office 365. Seguire i seguenti passaggi:
1. Scaricate e installate il Microsoft Online Services Sign-In Assistant for IT Professionals RTW.
2. Importare il modulo PowerShell dei Servizi Online per Microsoft Azure Active Directory e Office 365:
Install-Module -Name AzureAD
Install-Module -Name MSOnline
3. Inserisci le tue credenziali di amministratore di Office 365:
$Cred = Get-Credential
4. Creare una sessione remota di PowerShell:
$O365 = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Cred -Authentication Basic -AllowRedirection
5. Importare i comandi della sessione nella sessione locale di Windows PowerShell:
Import-PSSession $O365
6. Connettersi a tutti i servizi di Office 365:
Connect-MsolService –Credential $O365
Una volta importati i moduli per Windows PowerShell, siamo pronti a gestire la nostra istanza di Office 365.
2. Connessione a Exchange Online e SharePoint Online con PowerShell
Possiamo anche connetterci separatamente a Microsoft Exchange Online e Microsoft SharePoint Online. Connettersi a Exchange Online con PowerShell è sostanzialmente lo stesso che connettersi a Office 365:
$Cred = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Cred -Authentication Basic –AllowRedirection
Connettersi a SharePoint Online è leggermente diverso. Per gestire il tenant di SharePoint Online, è necessario prima scaricare e installare la funzionalità SharePoint Online Management Shell. Quindi eseguire lo script PowerShell seguente:
$admin="Admin@enterprise.onmicrosoft.com"
$orgname="enterprise"
$userCred = Get-Credential -UserName $admin -Message "Type the password."
Connect-SPOService -Url https://$orgname-admin.sharepoint.com -Credential $userCred
3. Ottenere un elenco dei cmdlet PowerShell di Office 365 disponibili
Per ottenere un elenco di tutti i Office 365 PowerShell commands disponibili, dobbiamo eseguire il cmdlet Get-Command:
Get-Command -module MSOnline
Possiamo anche ottenere l'elenco dei cmdlet per Azure Active Directory:
Get-Command -module AzureAD
4. Ottenere un elenco di tutti gli utenti di Office 365 con PowerShell
Se devi fornire un elenco di utenti e licenze di Office 365, usa il cmdlet Get-MsolUser. Questo recupererà tutti gli utenti con una licenza valida nel tenant di Office 365, insieme ai parametri DisplayName, City, Department e ObjectID.
Get-MsolUser | Select DisplayName, City, Department, ObjectID
Per vedere il numero di licenze degli account, è necessario eseguire il seguente cmdlet:
Get-MsolAccountSku
Per elencare i servizi disponibili, eseguire lo script seguente:
Get-MsolAccountSku | select -ExpandProperty ServiceStatus
5. Creazione di un nuovo utente in Office 365 con PowerShell
Per creare un nuovo utente, utilizziamo il comando New-MsolUser:
New-MsolUser -UserPrincipalName JSmith@enterprise.onmicrosoft.com -DisplayName "John Smith" -FirstName “John” -LastName “Smith”
Il sistema fornirà i dati della password e dello stato della licenza dell'utente.
6. Rimozione di un utente da tutti i siti con PowerShell
Per rimuovere un utente da tutti i siti contemporaneamente, utilizziamo il seguente comando:
Get-SPOSite | ForEach {Remove-SPOUser -Site $_.Url -LoginName " JSmith@enterprise.onmicrosoft.com"}
7. Cambiare una password in Office 365 con PowerShell
Se devi cambiare la password per un account, usa il cmdlet Set-MsolUserPassword. Puoi specificare una nuova password come nell'esempio sottostante, oppure omettere il parametro -NewPassword per far generare automaticamente una password casuale dal sistema.
Set-MsolUserPassword -UserPrincipalName JSmith@Netwrixqcspa.onmicrosoft.com -NewPassword P@SSw0rd!
8. Gestione dell'appartenenza ai gruppi in Office 365 con PowerShell
Possiamo anche gestire i gruppi di Office 365 utilizzando i cmdlet di PowerShell. Per recuperare un elenco di tutti i gruppi in Office 365, usa semplicemente il comando Get-MsolGroup. Per aggiungere utenti a un gruppo, usa il comando Add-MsolGroupMember:
Add-MsolGroupMember -GroupObjectId 5b61d9e1-a13f-4a2d-b5ba-773cebc08eec -GroupMemberObjectId a56cae92-a8b9-4fd0-acfc-6773a5c1c767 -GroupMembertype user
GroupObjectId è l'ID esadecimale del gruppo, che puoi ottenere dal comando Get-MsolGroup. GroupMemberObejctId è l'ID oggetto utente, che puoi trovare eseguendo questo comando:
Get-MsolUser | Select ObjectID.
Per rimuovere un utente da un gruppo, utilizza il cmdlet Remove-MsoGroupMember.
9. Creazione di una SharePoint site collection con PowerShell
Possiamo anche creare una raccolta di siti SharePoint utilizzando PowerShell:
New-SPOSite -Url "https://enterprise.sharepoint.com/sites/NewSite" -Owner "JSmith@enterprise.onmicrosoft.com" -StorageQuota "100" -Title "New Site"
10. Creazione di report in Office 365 con PowerShell
PowerShell è uno strumento fantastico per creare diversi report. Ecco alcuni utili report di Office 365 realizzati tramite PowerShell:
- Dettagli su tutte le caselle di posta:
Get-mailbox | get-MailboxStatistics
- Un elenco di tutte le caselle di posta che non sono state accessibili negli ultimi 30 giorni:
Get-Mailbox –RecipientType 'UserMailbox' | Get-MailboxStatistics | Sort-Object LastLogonTime | Where {$_.LastLogonTime –lt ([DateTime]::Now).AddDays(-30) } | Format-Table DisplayName, LastLogonTime
- Un rapporto sui mittenti e destinatari con il volume più alto:
Get-MailTrafficTopReport
- Un rapporto su tutti i gruppi e i loro membri:
function Get-AllO365Members
{
Try
{
$O365Groups=Get-UnifiedGroup
foreach ($O365Group in $O365Groups)
{
Write-Host "Group Membership: " $O365Group.DisplayName -ForegroundColor Green
Get-UnifiedGroupLinks –Identity $O365Group.Identity –LinkType Members
Write-Host
}
}
catch [System.Exception]
{
Write-Host -ForegroundColor Red $_.Exception.ToString()
}
}
Get-AllO365Members
Si noti che la maggior parte dei cmdlet di reportistica sono stati deprecati a gennaio 2018 e sostituiti dalla nuova MS Graph Reporting API. Pertanto, alcuni report sono ora disponibili solo nel Office 365 Security & Compliance Center.
Come puoi vedere, la gestione di Office 365 con PowerShell è veloce e semplice, come lo è in Microsoft Windows Server. Non dimenticare di eseguire l'audit di tutte le modifiche che apporti al tuo ambiente Office 365; ti aiuterà a risolvere i problemi e a recuperare da eventuali inconvenienti più rapidamente. Per imparare come configurare l'audit nativo nel tuo ambiente Office 365, dai un'occhiata alla nostra Exchange Online Auditing Quick Reference Guide e alla Exchange Online Mailbox Auditing Quick Reference Guide. Se desideri informazioni utili su ciò che sta accadendo nel tuo ambiente Office 365, insieme a reportistica flessibile, allarmi proattivi, ricerca simile a Google e molto altro, richiedi una prova gratuita di Netwrix Auditor for Office 365.
Condividi su
Scopri di più
Informazioni sull'autore
Jeff Melnick
Direttore dell'Ingegneria dei Sistemi
Jeff è un ex Direttore dell'Ingegneria delle Soluzioni Globali presso Netwrix. È un blogger di Netwrix da lungo tempo, nonché relatore e presentatore. Nel blog di Netwrix, Jeff condivide lifehack, consigli e trucchi che possono migliorare notevolmente la tua esperienza di amministrazione del sistema.
Scopri di più su questo argomento
Leggi sulla Privacy dei Dati per Stato: Diversi Approcci alla Protezione della Privacy
Esempio di Analisi del Rischio: Come Valutare i Rischi
Il Triangolo CIA e la sua applicazione nel mondo reale
Cos'è la gestione dei documenti elettronici?
Analisi quantitativa del rischio: Aspettativa di perdita annuale