如何为AD所有用户设置company属性或查询未配置该值的用户列表
以下是两种需求对应的PowerShell操作方案,操作前请确保运行环境已安装Active Directory PowerShell模块,使用具备AD用户读取/修改权限的账号执行命令,所有修改操作建议先在测试环境验证后再在生产环境执行。
1 导出未正确配置company属性的用户列表
先导入AD模块:Import-Module ActiveDirectory
执行以下命令即可导出所有company属性为空、或属性值不等于目标公司名称的用户列表,你需要将命令中的你的公司全称替换为实际要匹配的公司名称:Get-ADUser -Filter * -Properties company | Where-Object {$_.company -eq $null -or $_.company -ne "你的公司全称"} | Select-Object Name,SamAccountName,UserPrincipalName,company | Export-Csv -Path "C:\未配置正确Company属性用户.csv" -Encoding UTF8 -NoTypeInformation
导出的CSV文件包含用户显示名、登录账号、用户主体名称、现有company属性值四个字段,可直接打开核对。
2 批量设置AD用户的company属性
2.1 仅为配置错误/未配置的用户补全属性
该方案不会修改已经设置了正确company属性的用户,安全性更高:Get-ADUser -Filter * -Properties company | Where-Object {$_.company -ne "你的公司全称"} | Set-ADUser -Company "你的公司全称"
2.2 全量覆盖所有用户的company属性
如果确认所有AD用户的company属性都需要统一设置为同一个值,可以使用该方案:Get-ADUser -Filter * | Set-ADUser -Company "你的公司全称"
注意:执行修改类命令前,建议先运行导出命令确认筛选的用户范围符合预期,避免误改其他用户属性。
内容的提问来源于stack exchange,提问作者VoxelArc

