我想填写" employeeID"或者" uid"我们的用户在Active Directory中的序号。我所做的只是将用户导出为CSV文件:
Get-ADUser -Filter "mail -like '*com'" | Export-Csv 'C:\ADUser.csv' -NoType
有谁知道如何做这样的事情?
答案 0 :(得分:5)
这会将所有用户EmployeeID字段从1开始依次设置为数字:
Get-ADUser -Filter "mail -like '*com'" | ForEach-Object -Begin {$UserID = 1} {
Set-ADUser $_ -EmployeeID $UserID -WhatIf
$UserID++
}
如果-WhatIf
参数看起来正在执行您想要的操作,请将其删除。请注意,它可能会替换所有这些用户的任何现有值,并且不会考虑域中其他用户对象可能具有相同ID的可能性(因为您已过滤到具有电子邮件地址的用户)。
如果您希望最后输出CSV并显示结果,则可以进一步执行此操作:
Get-ADUser -Filter "mail -like '*com'" | ForEach-Object -Begin {$UserID = 1} {
Set-ADUser $_ -EmployeeID $UserID -WhatIf
$UserID++
Get-ADUser $_ -Properties Samaccountname,EmployeeID | Select Samaccountname,EmployeeID
} | Export-Csv 'C:\ADUser.csv' -NoType