Una delle esigenze più sentite nell’utilizzo di Office 365 in ambito scolastico è quella di poter ordinare gli studenti per cognome piuttosto che per nome, visto che il sistema non offre questa possibilità e ordina gli studenti per nome. Un trucco per ottenere l’ordinamento per cognome è quello di inserire nel campo nome il cognome dell’alunno e nel campo cognome il nome dell’alunno. Ma cosa fare se abbiamo già inserito tutti gli account dei nostri studenti?
Una soluzione semplice prevede di utilizzare PowerShell. Bastano un paio di righe di codice. Per prima cosa dovete avere installato i moduli per interagire con Office 365 via PowerShell come indicato qui (Configurare Office 365 in PowerShell).
A questo punto basta operare come segue:
- Loggarsi ad Office 365 su PowerShell con il comando
Connect-Msolservice - Assicurarsi che uno dei comandi seguenti restituisca l’elenco dei vostri studenti (i comandi vanno eseguiti su una singola riga)
- Se avete inserito nel campo posizione professionale Studente
Get-MsolUser -Title “Studente” -All | Select UserPrincipalName, FirstName, LastName - Se non lo avete fatto potete selezionare gli studenti dalla licenza assegnata
Get-MsolUser -All | where {($_.licenses).AccountSkuId -match “_STUDENT”} | Select UserPrincipalName, FirstName, LastName
- Se avete inserito nel campo posizione professionale Studente
- In base al comando scelto nel passaggio precedente, scegliete uno dei seguenti comandi per scambiare nome e cognome di tutti gli studenti (anche in questo caso il comando va scritto su un’unica riga)
- Nel primo caso
Get-MsolUser -Title “Studente” -All | Select UserPrincipalName, FirstName, LastName | foreach {Set-MsolUser -UserPrincipalName $_.UserPrincipalName -FirstName $_.LastName -LastName $_.FirstName} - Nel secondo caso
Get-MsolUser -All | where {($_.licenses).AccountSkuId -match “_STUDENT”} | Select UserPrincipalName, FirstName, LastName | foreach {Set-MsolUser -UserPrincipalName $_.UserPrincipalName -FirstName $_.LastName -LastName $_.FirstName}
- Nel primo caso
Fatto! Al termine del comando tutti gli studenti avranno i nomi e cognomi scambiati.
NB: Questa procedura lascerà inalterati i nomi utente (gli indirizzi di posta degli studenti)
L’ha ripubblicato su Office 365 per la scuolae ha commentato:
Da successive verifiche abbiamo capito che gli utenti sono ordinati in piattaforma in base al DisplayName e non in base al FirstName. Quindi la procedura indicata va modificata in questo modo, in modo da invertire l’ordine nome cognome solo nel displayname.
Riporto solo la porzione finale del comando da sostituire alla precedente:
foreach {Set-MsolUser -UserPrincipalName $_.UserPrincipalName -DisplayName “$($_.LastName) $($_.FirstName)”}
"Mi piace""Mi piace"