我必須爲我們的AD環境(1000+用戶)中的每個用戶更新不同的值。Quest ActiveRoles Managementshell:FOREACH-OBJECT Set-QADUSER服務器不願意
我有一個CSV在所有值文件,該文件的格式是這樣
SamAccountName,Name,telephoneNumber,ipPhone....
我試着用下面的PS語法導入數據:
import-csv -path "PathToCSVFiles" | ForEach-Object {
get-qaduser -SamAccountName $_.SamAccountName -SearchScope "Subtree" -SearchRoot "ou=SomeOu,DC=subdomain,DC=domain,DC=local"| Set-QADUser -objectAttributes @{ipPhone=$_.ipPhone}
}
但我總是得到「Set-QADUser:服務器不願意處理請求。」每個使用者的錯誤。
當我使用單個值運行整個「get-qaduser .... set-qaduser」行而不是在foreach-object塊中運行它時,它工作得很好,我無法理解爲什麼foreach部分不起作用。
目前我有一個Excel VBA宏,它爲每一個需要更新的用戶寫一行PS1文件,但這是一團糟,並沒有什麼幫助。
任何人都可以請告訴我我做錯了什麼,將不勝感激。
感謝&最好, 馬庫斯
你是完全正確的,但不幸的是這不是錯誤的原因,因爲$ ipPhone的聲明只在複製和粘貼過程中丟失。基本上我試圖直接使用$ _。ipPhone,而且沒有運氣,當我複製並粘貼PS語法的部分到我的文章時,我錯過了包含$ ipPhone聲明。無論如何感謝您的回覆! –