我正在努力对 Active Directory 中的 3000 多个用户进行更改。每一项都需要在属性部分extensionAttribute3、extensionAttribute4 和extensionAttribute5 中添加3 个内容。有人可以帮我创建一个访问 CSV 并根据 CSV 中的信息填写信息的命令行条目吗?
这是我目前在 CSV 中的内容:
samAccountName ExtensionAttribute3 ExtensionAttribute4 ExtensionAttribute5
这是我的代码:
Import-Csv c:\scripts\updatecsv.csv | ForEach-Object {
Set-ADUser $_.samAccountName `
-ObjectAttributes @{ExtensionAttribute3=($_.ExtensionAttribute3); ExtensionAttribute4=($_.ExtensionAttribute4)}
}
尝试使用
ObjectAttributes
,而不是不存在的 Replace
参数:
Import-Csv .\updatecsv.csv |ForEach-Object {
Set-ADUser $_.samAccountName -Replace @{
ExtensionAttribute3 = $_.ExtensionAttribute3
ExtensionAttribute4 = $_.ExtensionAttribute4
ExtensionAttribute5 = $_.ExtensionAttribute5
}
}
我来这里寻找类似的解决方案,但我确实想指出 -ObjectAttributes 对于活动角色有效,而不是他可能使用的 Active Directory:
如果是这样,那么在连接到 QAD 服务并导入模块后即可工作:
Import-Csv H:\ScriptLibrary\Users.csv |ForEach-Object {
Set-QADUser $_.samAccountName -ObjectAttributes @{
ExtensionAttribute3 = $_.ExtensionAttribute3
ExtensionAttribute4 = $_.ExtensionAttribute4
ExtensionAttribute5 = $_.ExtensionAttribute5
}