Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Exchange Online PowerShell è l'interfaccia amministrativa che consente di gestire la parte Exchange Online dell'organizzazione di Microsoft 365 dalla riga di comando (incluse molte funzionalità di sicurezza integrate per tutte le cassette postali cloud e le protezioni in Microsoft Defender per Office 365).
Per impostazione predefinita, tutti gli account di Microsoft 365 sono autorizzati a usare PowerShell per Exchange Online. Questo accesso non offre agli utenti funzionalità amministrative. Sono ancora limitati dal controllo di accesso in base ai ruoli. Ad esempio, possono configurare alcune impostazioni nella propria cassetta postale e gestire i gruppi di distribuzione di cui sono proprietari, ma non molto altro.
Gli amministratori possono usare le procedure illustrate in questo articolo per disabilitare o abilitare la capacità di un utente di connettersi a PowerShell per Exchange Online.
Che cosa è necessario sapere prima di iniziare?
Tempo stimato per il completamento di ciascuna procedura: meno di 5 minuti
Le procedure descritte in questo articolo sono disponibili solo in PowerShell per Exchange Online. Per informazioni su come connettersi a PowerShell per Exchange Online, vedere Connettersi a PowerShell per Exchange Online.
Per poter eseguire le procedure descritte in questo articolo, è necessario disporre delle autorizzazioni assegnate. Sono disponibili le opzioni seguenti:
- Autorizzazioni di Exchange Online: appartenenza ai gruppi di ruoli Gestione organizzazione o Gestione destinatari.
- Controllo degli accessi in base al ruolo Microsoft Entra: l'appartenenza ai ruoli di amministratore di Exchange o amministratore globale* offre agli utenti le autorizzazioni e le autorizzazioni necessarie per altre funzionalità di Microsoft 365.
Importante
Nella fretta di disabilitare rapidamente e globalmente l'accesso a PowerShell nell'organizzazione basata sul cloud, fai attenzione ai comandi senza
Get-User | Set-User -EXOModuleEnabled $falseconsiderare gli account amministratore. Usare le procedure di questo articolo per rimuovere in modo selettivo l'accesso a PowerShell o per riservare l'accesso a chi ne ha bisogno usando la sintassi seguente nel comando di rimozione globale:Get-User | Where-Object {$_.UserPrincipalName -ne 'admin1@contoso.onmicrosoft.com' -and $_.UserPrincipalName -ne 'admin2@contoso.onmicrosoft.com'...} | Set-User -EXOModuleEnabled $false.Se si blocca accidentalmente l'accesso a PowerShell, creare un nuovo account amministratore nell'interfaccia di amministrazione di Microsoft 365 e quindi usare tale account per concedere a se stessi l'accesso a PowerShell usando le procedure descritte in questo articolo.
* Microsoft consiglia di usare i ruoli con il minor numero di autorizzazioni. L'uso di account con autorizzazioni inferiori consente di migliorare la sicurezza per l'organizzazione. Amministratore globale è un ruolo con privilegi elevati che deve essere limitato agli scenari di emergenza quando non è possibile usare un ruolo esistente.
Per informazioni dettagliate sulla sintassi del filtro OPATH in Exchange Online, vedere Ulteriori informazioni sulla sintassi OPATH.
Abilitare o disabilitare l'accesso remoto PowerShell per un utente
In questo esempio viene disabilitato l'accesso a PowerShell di Exchange Online per l'utentedavid@contoso.onmicrosoft.com.
Set-User -Identity david@contoso.onmicrosoft.com -EXOModuleEnabled $false
In questo esempio viene abilitato l'accesso a Exchange Online PowerShell per l'utentechris@contoso.onmicrosoft.com.
Set-User -Identity chris@contoso.onmicrosoft.com -EXOModuleEnabled $true
Disabilitare l'accesso tramite PowerShell remoto per più utenti
Per impedire l'accesso tramite PowerShell remoto a uno specifico gruppo di utenti esistenti sono disponibili diverse opzioni:
- Filtra gli utenti in base a un attributo esistente: questo metodo presuppone che gli account utente di destinazione condividano tutti un attributo filtrabile univoco. Alcuni attributi, ad esempio titolo, reparto, informazioni sull'indirizzo e numero di telefono, sono disponibili solo nel cmdlet Get-User . Altri attributi (ad esempio, da CustomAttribute1 a CustomAttribute15) sono disponibili solo dal cmdlet Get-Mailbox .
- Utilizzare un elenco di utenti specifici: dopo aver generato l'elenco di utenti specifici, è possibile usarlo per disabilitare l'accesso a PowerShell per Exchange Online.
Filtrare gli utenti in base a un attributo esistente
Per disabilitare l'accesso a PowerShell di Exchange Online per un numero qualsiasi di utenti in base a un attributo esistente, utilizzare la sintassi seguente:
$<VariableName> = <Get-Mailbox | Get-User> -ResultSize unlimited -Filter <Filter>
$<VariableName> | foreach {Set-User -Identity $_.WindowsEmailAddress -EXOModuleEnabled $false}
In questo esempio, viene impedito l'accesso tramite PowerShell remoto a tutti gli utenti il cui attributo Title contiene il valore "Sales Associate".
$DSA = Get-User -ResultSize unlimited -Filter "(RecipientType -eq 'UserMailbox') -and (Title -like 'Sales Associate*')"
$DSA | foreach {Set-User -Identity $_.WindowsEmailAddress -EXOModuleEnabled $false}
Utilizzare un elenco di utenti specifici
Per disabilitare l'accesso tramite PowerShell remoto per un elenco di utenti specifici, utilizzare la seguente sintassi.
$<VariableName> = Get-Content <text file>
$<VariableName> | foreach {Set-User -Identity $_ -EXOModuleEnabled $false}
L'esempio seguente usa il file di testo C:\My Documents\NoPowerShell.txt per identificare gli utenti in base ai loro account. Il file di testo deve contenere un account in ogni riga come indicato di seguito:
akol@contoso.onmicrosoft.com
tjohnston@contoso.onmicrosoft.com
kakers@contoso.onmicrosoft.com
Dopo aver inserito nel file di testo gli account utente da aggiornare, eseguire i comandi seguenti:
$NoPS = Get-Content "C:\My Documents\NoPowerShell.txt"
$NoPS | foreach {Set-User -Identity $_ -EXOModuleEnabled $false}
Visualizzare lo stato di accesso a PowerShell di Exchange Online per gli utenti
Consiglio
La proprietà più recente EXOModuleEnabled non è disponibile per l'uso con il parametro Filter nel cmdlet Get-User , ma i EXOModuleEnabled valori della proprietà e della proprietà precedente RemotePowerShellEnabled sono sempre gli stessi, quindi usare la RemotePowerShellEnabled proprietà con il parametro Filter nel cmdlet Get-User .
Per visualizzare lo stato di accesso a PowerShell per un utente specifico, sostituire <UserIdentity> con il nome o il nome dell'entità utente (UPN) dell'utente ed eseguire il comando seguente:
Get-User -Identity "<UserIdentity>" | Format-List EXOModuleEnabled
Per visualizzare lo stato di accesso a Exchange Online PowerShell per tutti gli utenti, eseguire il comando seguente:
Get-User -ResultSize unlimited | Format-Table -Auto DisplayName,EXOModuleEnabled
Per visualizzare tutti gli utenti che non hanno accesso a PowerShell per Exchange Online, usare il comando seguente:
Get-User -ResultSize unlimited -Filter 'RemotePowerShellEnabled -eq $false'
Per visualizzare tutti gli utenti che hanno accesso a PowerShell per Exchange Online, eseguire il comando seguente:
Get-User -ResultSize unlimited -Filter 'RemotePowerShellEnabled -eq $true'