我要在Active Directory中用序列号填写用户的“employeeID”或“uid”。我所做的只是将用户导出为CSV文件:
Get-ADUser -Filter "mail -like '*com'" | Export-Csv 'C:\ADUser.csv' -NoType
有谁知道我该怎么做?
最佳答案
这会将所有用户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
关于powershell - Active Directory-按脚本填写唯一ID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44841064/