我有一個包含以下欄位的 csv:
用戶 | AD_Manager_ID | Dyn_Manager_ID [email protected] | 第1234章 1455
Dyn_Manager_ID 欄位是另一個用戶的員工 ID。99% 的時間對應于實際用戶,但有時對應于聯系人
我可以得到這樣的聯系方式:
Get-ADObject -Filter "employeeID -eq '1455'"
但是當我嘗試使用該物件 Set-ADUser -Manager 時,它回傳“無法找到具有身份的物件”錯誤。
這是普通用戶(非聯系人)的代碼:
$csvimport = import-csv -Path C:\Users\ME\Desktop\AccountChangesCSV.csv
foreach ($User in $csvimport)
{
Get-aduser -filter "employeeID -eq '$($user.DYN_Mgr_ID)'" | select-object samaccountname -
OutVariable ManagersName
Get-ADUser -Filter "employeeID -eq '$($user.AD_ID)'" | set-aduser -Manager
$ManagersName.samaccountname
}
uj5u.com熱心網友回復:
如果某人的經理可能是另一個用戶或聯系人,則不要使用Get-ADUser來查找經理物件,而是Get-ADObject使用。
如果這是一個接觸,沒有SamAccountName財產,而是,你可以使用DistinguishedName或ObjectGUID
嘗試
$csvimport = Import-Csv -Path 'C:\Users\ME\Desktop\AccountChangesCSV.csv'
foreach ($user in $csvimport) {
$manager = Get-ADObject -Filter "employeeID -eq '$($user.DYN_Mgr_ID)'" -ErrorAction SilentlyContinue
if ($manager) {
# now update the users Manager property with the DistinguishedName of the manager object
Get-ADUser -Filter "employeeID -eq '$($user.AD_ID)'" |
Set-ADUser -Manager $manager.DistinguishedName # or ObjectGUID instead of DistinguishedName
}
}
這適用于 AD 用戶物件和聯系人
uj5u.com熱心網友回復:
我認為這篇文章有答案:使用聯系人卡片更新 ADUser 的經理
這是最終對我有用的代碼:
$csvimport = Import-Csv -Path 'C:\Users\ME\Desktop\AccountChangesCSV.csv'
foreach ($user in $csvimport) {
$manager = Get-ADObject -Filter "employeeID -eq '$($user.DYN_Mgr_ID)'" -
ErrorAction SilentlyContinue
if ($manager) {
# now update the users Manager property with the DistinguishedName of the
manager object
$aduser = Get-ADUser -Filter "employeeID -eq '$($user.AD_ID)'"
Set-AdUser -Identity $aduser.SamAccountName -replace
@{manager="$($manager.distinguishedname)"}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/372235.html
