2013-03-02 69 views
1

我正在嘗試更新特定OU中所有用戶的AD中列出的電子郵件地址。這是我使用的PowerShell腳本,但它不能正常工作通過PowerShell更新Active Directory「郵件」屬性

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

我想這是因爲$ _。當我嘗試做SET-ADUser便有SAM帳戶不返回任何東西。 任何人都可以指出我正確的方向來解決這個問題嗎?謝謝!

回答

0

我懷疑你需要使用一個子表達式爲:

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

在當前背景下$ _爲空。您需要使用Foreach-Object才能使用$ _。

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

創建SAM帳戶&電子郵件地址的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 
} 
相關問題