Jednym z pytań, które ostatnio się pojawia, to zmiana sortowania użytkowników w zespołach. Niestety domyślnie pole Display Name, które jest wykorzystywane w sortowaniu użytkowników, jest tworzone na podstawie pól Imię i Nazwisko. Jednak administrator może zmienić wartość tego pola bez wpływu na działanie systemu. Można edytować każdego użytkownika indywidualnie, ale oczywiście prościej to zrobić z poziomu powershell. W tym celu możemy użyć pliku csv, użytego do importu danych uczniów i nauczycieli, lub dowolnego innego pliku csv, np. lista użytkowników wyeksportowana z panelu administracyjnego.
W tym celu możemy użyć prostego skryptu, który zaimportuje listę użytkowników z pliku i utworzy pole displayname z połączenia wartości pól z imieniem i nazwiskiem. W tym celu powinniśmy poniższy kod zapisać jako plik z rozszerzeniem ps1 (na przykład zmiana.ps1 w katalogu c:\Scripts) i uruchomić go z Powershella (pamiętajmy, żeby wcześniej zainstalować moduł MSOnline przy pomocy komendy install-module MSOnline jako administrator):
Import-Module Msonline
Connect-MsolService
#
# nagłówek pliku csv -> UserPrincipalName,Imie,Nazwisko
# jeżeli kolumny rozdzielone są znakiem ";" zamiast "," należy użyć przy imporcie atrybutu -Delimeter (import-csv domyślnie szuka ",")
#
$AllStudents = Import-CSV D:\Scripts\uczniowie.csv -Delimiter ";"
ForEach ($student in $AllStudents)
{
$DisplayName = $student.Nazwisko+" "+$student.Imie
$currentstudent = get-MsolUser -UserPrincipalName $student.UserPrincipalName
set-MsolUser -ObjectId $currentstudent.ObjectId -Displayname $DisplayName
}