【发布时间】:2017-03-16 19:22:19
【问题描述】:
我正在尝试根据员工 ID 号更新 AD 用户。对于我们的组织来说,这是一个可靠的关键领域。
在这种情况下,每个用户都是用一个employeeID 属性创建的。我对用户的初始创建(New-ADuser)使用相同的 csv(仅设置较少的属性),因为我是用户的更新(Set-ADUser)。
其中大部分内容非常简单,主要来自here。我成功导入了我的 csv,并且可以打印我的变量。我的结果消息表明,当我执行 If/Else 时,“未找到具有 ID 的用户,或找到多个用户”,这两者都不正确。我相信我的问题出在这一行:
$UserID = Get-ADUser employeeID=$EmployeeId
这里是整个脚本。我在这里做错了什么?
# Import AD Module
Import-Module ActiveDirectory
# Import CSV into variable $userscsv
$ADUsers = Import-Csv -Path C:\Scripting\CSVs\UpdateADUsers.csv
foreach ($User in $ADUsers)
{
#Retrieve info from CSV
$Title = $User.Title
$Department = $User.department
$Office = $User.Office
$EmployeeId = $User.EmployeeId
$Manager = $User.manager
$Company = $User.Orglevel02
#get user DN
$UserDN = Get-ADUser -LDAPFilter "EmployeeId=$EmployeeId"
If ($UserDN.Count -eq 1)
{
# Use the Set-ADUser cmdlet to assign the new attribute values.
Set-ADUser -Identity $UserDN -Replace @{title=$Title;physicalDeliveryOfficeName=$Office;manager=$Manager}
}
Else {"User with ID $ID either not found, or more than one user found."}
}
【问题讨论】:
-
您使用的是employeeID而不是employeeNumber,对吗?
-
正确。属性编辑器之旅告诉我。
标签: powershell csv active-directory