2014-12-02 3 views
0

Я пытаюсь импортировать 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 
+1

Ваш код здесь есть «умные кавычки» все над ним. Это потому, что вы копируете/вставляете его из Word или что-то в этом роде или используете ваш реальный код? Убедитесь, что ваш код использует стандартные двойные кавычки '' 'и одинарные кавычки' ''. – briantist

+0

Это была именно эта проблема. Спасибо за решение :) –

ответ

1

Я думаю, что у вас есть обратно галочку в этой строке:

она не должна быть:

"Name -eq '$($user.Name)'" 
+0

Фактически «умная цитата» (см. Выше комментарий). Но это определенно решило проблему . Спасибо, парни! –

Смежные вопросы