PowerShell: scambiare nome e cognome in Office 365

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
  • 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}

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)

Una risposta a "PowerShell: scambiare nome e cognome in Office 365"

Add yours

  1. 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"

Lascia un commento

Inizia con un blog su WordPress.com.

Su ↑