我的CSV檔案內容如圖片
指令內容
PS C:\Windows\system32> Import-CSV "C:\temp\usersPhoneNumbers.csv" | foreach {Set-ADUser -Identity $.SAMAccountName -te
lephoneNumber $.telephoneNumber}
錯誤訊息
Set-ADUser : 無法驗證 'Identity' 參數上的引數。引數為 Null。請為引數提供一個有效值,然後嘗試重新執行該命令。
位於 線路:1 字元:76
~~~~~~~~~~~~~~~~~
Set-ADUser : 無法驗證 'Identity' 參數上的引數。引數為 Null。請為引數提供一個有效值,然後嘗試重新執行該命令。
位於 線路:1 字元:76
~~~~~~~~~~~~~~~~~
Set-ADUser : 無法驗證 'Identity' 參數上的引數。引數為 Null。請為引數提供一個有效值,然後嘗試重新執行該命令。
位於 線路:1 字元:76
~~~~~~~~~~~~~~~~~
不確定Identity這要輸入什麼資訊
請各位大神指教
要使用 Active Directory (AD) PowerShell 從 CSV 檔案批量更新使用者的電話號碼,可以遵循以下步驟。假設 CSV 檔案包含兩欄:使用者名稱(或其他識別屬性)和新的電話號碼。
幫你問了GPT
Username:使用者名稱或其他可唯一識別使用者的屬性(如使用者的 sAMAccountName 或 UserPrincipalName)。
PhoneNumber:要更新的電話號碼。
2. 使用 PowerShell 腳本更新電話號碼
可以使用以下 PowerShell 腳本來讀取 CSV 檔案並批量更新 AD 使用者的電話號碼屬性。
PowerShell 腳本
powershell
複製程式碼
# 匯入 Active Directory 模組
Import-Module ActiveDirectory
# 定義 CSV 檔案的路徑
$csvPath = "C:\path\to\your\file.csv"
# 讀取 CSV 檔案
$users = Import-Csv -Path $csvPath
# 遍歷每個使用者並更新電話號碼
foreach ($user in $users) {
# 使用者名稱 (從 CSV 讀取)
$username = $user.Username
# 新的電話號碼
$phoneNumber = $user.PhoneNumber
# 更新使用者的電話屬性
try {
# 根據 sAMAccountName 找到使用者並更新
Set-ADUser -Identity $username -OfficePhone $phoneNumber
Write-Host "成功更新 $username 的電話號碼為 $phoneNumber"
}
catch {
Write-Host "更新 $username 的電話號碼失敗: $_"
}
}
說明
Set-ADUser:用來修改 Active Directory 中的使用者屬性。
-Identity:識別使用者的屬性(此範例中使用 sAMAccountName)。
-OfficePhone:指定使用者的「辦公室電話」屬性(即電話號碼)。
注意事項
權限:執行此腳本的帳戶必須具有修改使用者屬性的權限。
備份:建議在進行批量更新前,先備份 AD 中的數據。
測試:先對少量使用者進行測試,確認更新結果正確無誤。