Мне нужно обновить атрибут employeeID для ряда пользователей в AD, используя powershell. К сожалению, у меня нет их имени пользователя или samaccountname, только DisplayName. Я могу заставить пользователей использовать DisplayName в качестве фильтра, но он не работает при использовании set-aduser. Можно ли каким-то образом использовать get-aduser для получения имени samaccount, а затем использовать его для обновления пользователя с помощью set-aduser?
Кроме того, обратите внимание, что важно, чтобы скрипт не перезаписывал существующие значения.
Мой текущий (нефункциональный) скрипт:
$csv = Import-Csv c:\test\users.csv
foreach ($line in $csv) {
$ADUserObject = Get-ADUser -Filter "DisplayName -eq '$line.displayname'" -Properties employeeID
if ($null -eq $ADUserObject.EmployeeID) {
Set-ADUser -Filter "DisplayName -eq '$line.displayname'" -employeeID $line.employeeid
}
}
Файл CSV выглядит следующим образом:
employeeid,GivenName,Surname,displayname
489900,Angela,Davis,Angela Davis
Любые пожелания или предложения приветствуются, спасибо !