运行脚本从 csv 文件更新用户地址时。我发现,当尝试应用 City 值(在属性编辑器中列为小写 L)时,它会更新 userWorkstations 的值(该功能限制用户只能登录主机名与字符串匹配的工作站)。
因此,在解除所有用户的屏蔽后,我对此进行了进一步研究。
在测试用户上运行以下代码会在 Active Directory 服务器上的 powershell 中获得以下结果。
PS C:\Windows\system32> Get-ADUser -Identity TestUser -Properties Name,City,UserWorkStations | Format-Table Name,City,UserWorkStations
Name City UserWorkStations
---- ---- ----------------
Test Test
PS C:\Windows\system32> Set-ADUser -Identity TestUser -l TESTVALUE
PS C:\Windows\system32> Get-ADUser -Identity TestUser -Properties Name,City,UserWorkStations | Format-Table Name,City,UserWorkStations
Name City UserWorkStations
---- ---- ----------------
Test Test TESTVALUE
我最终使用友好名称 -City 来更新用户地址选项卡上的城市字段。
有人能解释为什么更新这个特定属性会导致错误属性的产生吗?
答案1
切换-l
已扩展到Set-ADUser
,-LogonWorkstations
这就是为什么您会将其填满。
答案2
如果要使用实际的属性名称,请使用 -Add 或 -Replace 开关:
Set-AdUser -Identity "CN=SomeUser,OU=Users,OU=HQ,DC=contoso,DC=com" -Replace @{l="CityName"}
https://docs.microsoft.com/en-us/powershell/module/addsadministration/set-aduser