2013-03-02 3 views
1

특정 OU의 모든 사용자에 대해 AD에 나열된 전자 메일 주소를 업데이트하려고합니다. 이것은 내가 사용하고있어 파워 쉘 스크립트이지만, 내가 설정-ADUser을 할 때 SAMAccountName을 아무것도 반환하지 않습니다 때문에 $ _.이 생각PowerShell을 통해 Active Directory "mail"특성 업데이트

Import-Module ActiveDirectory 
Get-ADUser -Filter * -SearchBase "OU=OtherOU,OU=SomeOu,DC=Domain,DC=local" | Set-ADUser -email [email protected] 

제대로 작동하지 않습니다. 누구나이 문제를 해결하기 위해 올바른 방향으로 나를 가리킬 수 있습니까? 감사!

답변

0

은 당신이 그것을 위해 서브 표현식을 사용해야합니다 의심 : 현재 컨텍스트 $에서

"$($_.samaccountname)@domain.com" 
2

이 _ null입니다. $ _을 사용하려면 Foreach-Object를 사용해야합니다.

Get-ADUser -Filter * ... | Foreach-Object{ 
    Set-ADUser -Identity $_ -Email "$($_.samaccountname)@domain.com" 
} 
-1

것은 SAMAccountName을 & 이메일 주소를 CSV 파일을 만듭니다

"SamAccountName","EmailAddress" 
"john","[email protected]" 

1 단계 : 변수

$users = Import-Csv .\email.csv 

2 단계로 가져 오기 : 변수

foreach ($user in $users) { 
    Set-ADUser -Identity $user.SamAccountName -EmailAddress $user.EmailAddress 
} 
전화