Я пытаюсь импортировать CSV-файл, который будет обновлять пользователей в нашей среде AD с их надлежащими адресами электронной почты.Импорт адресов электронной почты в Active Directory
Первые несколько строк CSV выглядеть следующим образом:
Email,Name
[email protected],Adam Lambert
[email protected],Aaron Smith
[email protected],Arthur Aardvark
PowerShell сценарий я написал, выглядит так:
Import-Module ActiveDirectory
$data = Import-CSV -Path "C:\Users\redacted\Desktop\importtest.csv"
Foreach ($user in $data){
Get-ADUser -Filter “Name -eq ‘$($user.Name)'” | Set-ADUser -Replace @{mail = “$($user.Email)”}
}
Однако, к моему ужасу, это Безразлично» т работы. Чтобы уточнить, я пытаюсь сопоставить значение ADSI «name» (а не SamAccountName) со списком в Excel, который, как я знаю, является точным совпадением.
Любые мысли? Ошибка ниже:
Get-ADUser : Error parsing query: 'Name -eq ‘Adam Lambert'' Error Message: 'syntax error' at position: '10'.
At line:4 char:11
+ Get-ADUser <<<< -Filter “Name -eq ‘$($user.Name)'” | Set-ADUser -Replace @{mail = “$($user.Email)”}
+ CategoryInfo : ParserError: (:) [Get-ADUser], ADFilterParsingException
+ FullyQualifiedErrorId : Error parsing query: 'Name -eq ‘Adam Lambert'' Error Message: 'syntax error' at position: '10'.
,Microsoft.ActiveDirectory.Management.Commands.GetADUser
Ваш код здесь есть «умные кавычки» все над ним. Это потому, что вы копируете/вставляете его из Word или что-то в этом роде или используете ваш реальный код? Убедитесь, что ваш код использует стандартные двойные кавычки '' 'и одинарные кавычки' ''. – briantist
Это была именно эта проблема. Спасибо за решение :) –