2014-04-04 2 views
1

내 보낸 및 업데이트 된 CSV 파일의 Powershell 스크립트를 통해 AD에서 전화 번호를 가져오고 바꿉니다.Powershell을 통해 광고에서 전화 번호를 일괄 업데이트하려고 시도했습니다.

내가 사용하고 스크립트는 다음과 같습니다

Import-Csv C:\test2.csv | ForEach-Object { 
    Set-ADUser -Identity $_.samAccountName -Replace @{ 
    telephoneNumber=$_.OfficePhone;HomePhone=$_.HomePhone;MobilePhone=$_.MobilePhone} 
} 

CSV 파일 서식은 다음과 같습니다

samaccountname,OfficePhone,HomePhone,MobilePhone 
Username,Phone no, phone no, phone no 

내가 오류를 가져 오려는 :

C:\Users\account\Desktop\ps2.ps1:2 char:13 
+ Set-ADUser <<<< -Identity $_.samAccountName -Replace @{telephoneNumber=$_.OfficePhone;HomePhone=$_.HomePhone;Mobil 
ePhone=$_.MobilePhone} 
    + CategoryInfo   : InvalidOperation: (1305:ADUser) [Set-ADUser], ADInvalidOperationException 
    + FullyQualifiedErrorId : replace,Microsoft.ActiveDirectory.Management.Commands.SetADUser 

을 누구 아이디어가 있습니까?

답변

1

내가 본 유일한 사실은 -Replace 연산자가 LDAP 표시 필드를 사용해야하며 MobilePhone이 존재하지 않는다는 것입니다. 대신 모바일을 사용하십시오.

모든 LDAP 사용자 속성을 나열하는 멋진 테이블은 this site을 확인하십시오. 또는 MSDN page을 사용하면 각 필드에 대한 링크를 클릭하지 않는 한 LDAP 표시 이름이 표시되지 않으므로별로 유용하지 않습니다.

+0

그는 2 개의 MobilePhone을 가지고 있습니다. 명확한 설명을 위해, Karan이 제공 한 것과 같습니다. 첫 번째 쌍은 '모바일'이어야합니다. 그러나 속성 매핑 테이블에 대한 링크를 제공하는 데는 +1이 필요합니다. – vapcguy

1

잘 작동합니다.

Import-Csv E:\test.csv | ForEach-Object {Set-ADUser -Identity $_.samAccountName -Replace @{Mobile=$_.MobilePhone}} 
관련 문제