我试图写一个PowerShell脚本,将更新AD employeeID
属性为PowerShell命令来更新从CSV
脚本需要从我的CSV更新employeeID
文件
样品CSV每个用户的员工编号:
user,employeeID
user1,1234567
我试图写一个PowerShell脚本,将更新AD employeeID
属性为PowerShell命令来更新从CSV
脚本需要从我的CSV更新employeeID
文件
样品CSV每个用户的员工编号:
user,employeeID
user1,1234567
我认为这取决于你如何找到在Active Directory用户...你可以尝试这样的事:
# import the users
$myUsers = Import-Csv csvFile.csv
# loop through each user and update their employeeID property
foreach ($user in $myUsers)
{
# the Set-ADUser cmdlet requires a type of System.Hashtable<>,
# so let's create one
$updateRecord = @{"EmployeeID"=$user.EmployeeID}
# Set the user attribute
Set-ADUser -Identity $user -Replace @updateRecord
}
这可能会诀窍。你们是否修改了AD架构?请记住,“EmployeeID”假设您的Active Directory用户拥有一个EmployeeID属性。
请让我知道它是否有帮助!
至少现在你正在尝试一些看起来应该工作的代码。你的逻辑是健全的。你确定你的CSV不包含空白吗?一些简单的陈述可以排除这些。如果任一$user
或$id
为空
Import-CSV "C:\Scripts\Users.csv" | ForEach-Object {
$User = $_.UserName
$ID = $_.EmployeeID
If($user -and $ID){
Set-ADUser $User -employeeID $ID
} Else {
Write-Warning "User or employee number is null. Check source."
}
的If
语句将失败。如果情况并非如此,并且您的CSV确实包含数据,那么您可能遇到了编码问题。
以及我收到用户或员工编号为空。 我的csv文件是 用户名,employeeID user1,12345678 我该如何上传文件? – 2014-09-20 12:09:31