2014-12-02 3 views
0

AD 환경의 사용자를 적절한 전자 메일 주소로 업데이트하는 CSV 파일을 가져 오려고합니다. CSV 파일전자 메일 주소를 Active Directory로 가져 오기

처음 몇 줄은 다음과 같이 :

Email,Name 
[email protected],Adam Lambert 
[email protected],Aaron Smith 
[email protected],Arthur Aardvark 

파워 쉘 스크립트 내가 쓴 모습을 다음과 같이 : 더 그러나

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)”} 
} 

을 내 실망, 그것은 '아무튼 일하지 마라. 명확히하기 위해, "name"(SamAccountName 아님)의 ADSI 값을 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

실제로 "똑똑한 인용문"(위의 주석 참조). 그러나이 문제는 확실히 해결되었습니다. 고마워! –

관련 문제