Get-MsolUser PowerShell Attributes & Properties
Questo articolo è stato aggiornato per il 2021. Si prega di notare che WAAD è stato ritirato nel 2018, ma le cmdlet elencate in questo articolo sono ancora utili per le organizzazioni che utilizzano WAAD.
Non molti amministratori di Office 365 sanno che la cmdlet Get-MsolUser PowerShell gioca un ruolo importante quando si gestisce Office 365 Windows Azure Active Directory, o WAAD in breve.
Get-MsolUser può essere molto utile nelle attività operative quotidiane relative a Office 365 WAAD.
Ma prima di poter utilizzare il cmdlet Get-MsolUser o qualsiasi altro cmdlet Office 365 PowerShell, è necessario installare il Microsoft Online Sign-In Assistant for IT Professional e Windows Azure Active Directory Module for Windows PowerShell su un computer con Windows 7 o successivo.
Nota: Nell’ottobre 2015, gli sviluppatori Microsoft hanno rilasciato una nuova versione di Azure Active Directory Module che supporta gli account utente Office 365 che sono abilitati a più fattori (MFA). La vecchia versione di Azure Active Directory Module non supporta gli account abilitati MFA. Puoi scaricare la versione MFA di Azure PowerShell dal sito Microsoft connect.
In questo caso, stiamo usando Office 365 Business Premium con una prova gratuita per 30 giorni. Abbiamo aggiunto un dominio chiamato ExampleIT.com e questo è il dominio che useremo per i servizi di Office 365 come email, SharePoint, Lync e per permettere agli utenti di scaricare applicazioni Office come Word, Excel e PowerPoint su desktop o dispositivi mobili.
Dopo aver installato l’MSOnline Sign-In Assistant e il modulo Azure PowerShell su un computer, vai su start > cerca > digita “Windows Azure Active Directory Module”, fai clic destro sul collegamento e poi clicca su “Esegui come amministratore” per aprire la finestra Azure PowerShell in modalità elevata. Successivamente, sarà necessario utilizzare “Connect-MSolservice” per connettersi a Office 365 Tenant, che a sua volta, consente di esplorare gli utenti WAAD utilizzando il cmdlet Get – MSOlUser.
Per impostazione predefinita, quando si esegue il cmdlet GetMsolUser PowerShell, viene dato il nome principale dell’utente, il nome di visualizzazione e se l’utente è autorizzato o meno.
Come puoi vedere nell’output qui sopra, Get-MSOlUser elenca tutti gli utenti che sono stati creati in Office 365 con il loro UserPrincipalName, DisplayName e lo stato della licenza. La colonna di stato isLicense indica se un utente è abbonato a un servizio Office 365 o meno.
Questo è l’output di base che si vede quando si esegue il cmdlet Get-MsolUser senza parametri. Ma c’è molto di più che si può fare con il cmdlet Get-MsolUser.
Per esempio, puoi usarlo per
- Cercare gli utenti
- Identificare quando un utente è stato creato
- Trovare quando un utente ha cambiato la sua password l’ultima volta
- Quali licenze sono associate ad un utente
- Le politiche sulle password che si applicano ad un utente
- Se un utente è sincronizzato da On-Premises Active Directory o no
Questa lista di comandi Get-MsolUser PowerShell include opzioni che potresti trovare utili nelle tue necessità operative quotidiane.
Importa la data e l’ora di creazione degli utenti di Office 365
Per ottenere un elenco di utenti con la loro ora di creazione, eseguire il seguente comando PowerShell:
GET-MSOLUSER | SELECT-OBJECT USERPRINCIPALNAME, WHENCREATED | FT -AUTOSIZE
La proprietà “WhenCreated” visualizza l’ora di creazione dell’utente come mostrato nella finestra PowerShell sottostante:
Se vuoi esportare la lista in un file CSV, usa questo comando:
Get-MsolUser -ALL | Select-Object UserPrincipalName, WhenCreated | Export-CSV AllUsersWithWhenCreated.CSV -NoTypeInformation
Un file CSV con il nome file “AllUsersWithWhenCreated.CSV” sarà generato nella cartella locale.
Suggerimento: Il cmdlet Export-CSV PowerShell è supportato per tutti i cmdlets di Windows PowerShell.
Ricerca degli utenti
Anche se è possibile cercare gli utenti nell’Office 365 Admin Center, utilizzando il cmdlet Get-MsolUser si ha la possibilità di memorizzare l’output in un file CSV. Ad esempio, per recuperare un elenco di utenti che contengono “Rick” nel nome visualizzato, esegui il seguente comando:
GET-MSOLUSER -SEARCHSTRING "RICK" | SELECT-OBJECT USERPRINCIPALNAME, ISLICENSED | EXPORT-CSV USERSWITHRICK.CSV -NOTYPEINFORMATION
Elenco utenti che sono abilitati/disabilitati
Puoi anche usare il cmdlet Get-MsolUser per recuperare un elenco di utenti che sono abilitati o disabilitati aggiungendo il parametro “-EnabledFilter”. Il parametro “-EnabledFilter” supporta due valori: EnabledOnly e DisabledOnly come mostrato in questi comandi:
GET-MSOLUSER -ENABLEDFILTER ENABLEDONLY -ALL | EXPORT-CSV ENABLEDOFFICE365USERS.CSV -NOTYPEINFORMATION
GET-MSOLUSER -ENABLEDFILTER DISABLEDONLY -ALL | EXPORT-CSV DISABLEDOFFICE365USERS.CSV -NOTYPEINFORMATION
Il primo comando recupera gli utenti che sono abilitati mentre il secondo comando recupera una lista di utenti che sono attualmente disabilitati.
Per ottenere utenti sincronizzati
Office 365 consente di implementare uno scenario di “identità sincronizzata” in cui gli utenti di una Active Directory on-premises vengono sincronizzati utilizzando gli strumenti DirSync, AADSync o AADConnect e popolati in Office 365 WAAD. Questa sincronizzazione elimina la necessità di creare utenti in Office 365 separatamente. Ogni utente deve essere sincronizzato al fine di recuperare le informazioni aggiornate dall’Active Directory on-premises.
È importante notare che le cmdlets Azure PowerShell non forniscono un interruttore che è possibile utilizzare per elencare gli utenti che sono sincronizzati da On-Premises Active Directory. Questo è ciò che rende il cmdlet Get-MSOlUser così potente.
Ogni utente che viene sincronizzato da On-Premises Active Directory è assegnato un attributo utente chiamato “ImmutableID”. L’attributo “ImmutableID” persiste quando un utente viene sincronizzato da On-Premises Active Directory. Per interrogare gli utenti sincronizzati e memorizzare l’output in un file CSV, esegui il comando PowerShell sottostante:
GET-MSOLUSER -ALL | WHERE IMMUTABLEID -NE $NULL
Questo comando istruisce Get-MSOlUser per interrogare tutti gli utenti che non hanno un valore assegnato all’attributo ImmutableID.
Ricerca dell’ultimo tempo di sincronizzazione per gli utenti
Ogni utente che viene sincronizzato da una Active Directory locale avrà un timestamp di sincronizzazione. Questi comandi estrarranno l’ultimo tempo di sincronizzazione per un singolo utente o per più utenti.
Per ottenere l’ultimo tempo di sincronizzazione per un singolo utente:
GET-MSOLUSER -USERPRINCIPALNAME "" | SELECT-OBJECT USERPRINCIPALNAME, LASTDIRSYNCTIME
E per eseguire questo comando per tutti gli utenti e salvare l’output in un file CSV, utilizzare questo comando:
GET-MSOLUSER -ALL | SELECT-OBJECT USERPRINCIPALNAME, LASTDIRSYNCTIME
Ci sono altre preziose informazioni sugli utenti di Office 365 che puoi recuperare usando il cmdlet Get-MsolUser PowerShell, ma devi prima sapere se ci sono proprietà disponibili per l’utente Office 365 che contengono le informazioni richieste.
Per ottenere un elenco di proprietà utente associate agli utenti di Office 365, eseguire il comando “Get-MSOlUser | Get-Member”. Una volta conosciute le proprietà dell’utente che potrebbero contenere le informazioni richieste, usa la seguente sintassi di Get-MSOlUser per recuperare le informazioni dell’utente:
GET-MSOLUSER -USERPRINCIPALNAME "" | SELECT-OBJECT PROPERTY1, PROPERTY2, PROPERTY3
Prelevare informazioni per tutti gli utenti di Office 365
Potresti aver notato l’uso dei parametri -MaxResults o -ALL in alcuni dei comandi PowerShell spiegati sopra. Per impostazione predefinita, il cmdlet Get-MsolUser può recuperare solo 500 utenti in un comando.
Se ci sono più di 500 utenti in un WAAD di Office 365, è necessario utilizzare i parametri -ALL o -MaxResults. Il parametro -MaxResults istruisce il cmdlet Get-MsolUser a restituire fino al valore specificato nel parametro -MaxResults, mentre il parametro -ALL permette di ottenere risultati per tutti gli utenti di Office 365. Non dimenticare di usare questi parametri in base ai requisiti del tuo comando.
Get-MSOLUSER per la flessibilità
Microsoft Office 365 fornisce cmdlets PowerShell che possono ridurre drasticamente il tempo necessario per eseguire attività tramite l’Office 365 Admin Center. Poiché la maggior parte delle attività in un ambiente cloud di Office 365 sono associate a un utente, l’uso del cmdlet Get-MsolUser PowerShell fornisce una maggiore flessibilità in termini di gestione delle istanze WAAD di Office 365.
Nirmal Sharma è un MCSEx3, MCITP e Microsoft MVP in Directory Services. È specializzato in servizi di directory, Microsoft Azure, Failover cluster, Hyper-V, System Center e Exchange Server e si occupa di tecnologie Microsoft dal 1994. Nel suo tempo libero, gli piace aiutare gli altri e condividere alcune delle sue conoscenze scrivendo consigli e articoli su vari siti e contribuendo agli Health Packs per le soluzioni ADHealthProf.ITDynamicPacks.Net. Nirmal può essere raggiunto a
.
Leave a Reply