Triangle, ну что там, вышло чего?
Вот, за тебя практически написал, проверок только разных добавить, на ошибки и т.п. Или проверять, изменялось, не изменялось, вывод того, что изменилось скриптом, это уже несколько геморнее.
import-csv c:\Scripts\users.csv | Foreach-object {
$Fname = $_.FName
$LName = $_.LName
$User = $_.Username
$Phone = $_.OfficePhone
$title = $_.title
$department = $_.department
Set-ADUser -Identity $User -OfficePhone "$($Phone)" -Title "$($title)" -Department "$($department)" -confirm:$false -ErrorAction Stop
Write-Host "У пользователя $($User) атрибуты изменены на следующие:" -ForegroundColor Gray
Write-Host "Номер телефона: $($Phone)" -ForegroundColor Green
Write-Host "Отдел: $($department)" -ForegroundColor Green
Write-Host "Должность: $($title)" -ForegroundColor Green
Write-Host "" #Пустая строка
}
users.csv - примерно такого содержания (шапка обязательна) в UTF-8 лучше, для русских букв:
fname,lname,username,OfficePhone,title,department
Petr,Sidorov,psidorov,911,Системный администратор,Отдел ИТ
Glafira,Ploshkina,gploshkina,322,Главный бухгалтер,Бухгалтерия
Пустых строк в csv-файле не должно быть, иначе скрипт ошибку выдаст, на пустые строки нужно проверку делать дополнительно еще.