You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何简化AD用户按title批量添加至组的PowerShell命令及筛选逻辑?

优化AD用户分组PowerShell命令方案

场景一:批量匹配30个Title值添加到组

原命令需要编写大量重复的-or语句,维护成本高,可通过-in操作符结合数组简化逻辑:

# 定义所有需要匹配的Title值,直接在数组内添加/修改30个目标值即可
$targetTitles = @("SECSCH", "SEC12", "LTOSEC", "LTO12", "Title5", "Title6", ...)

Get-ADUser -Filter { Title -in $targetTitles } | ForEach-Object {
    Add-ADGroupMember "SDK test print color" $_.SamAccountName
}

优化点:

  • 只需维护一个数组,新增或删除Title值无需调整过滤逻辑,更易维护
  • 代码结构简洁,避免了大量重复的条件判断语句

场景二:匹配含指定关键词的Title并排除特定Location用户

原命令存在逻辑漏洞(-or的位置会导致不符合预期的用户被误选),同时可通过模糊匹配和批量排除优化:

# 定义需要排除的LocationNumber值数组
$excludeLocations = @("85c", "42c")

Get-ADUser -Filter { Title -like "*custod*" -and LocationNumber -notin $excludeLocations } | ForEach-Object {
    Add-ADGroupMember "SDK test print convert" $_.SamAccountName
}

优化说明:

  • Title -like "*custod*":实现Title中包含"custod"的模糊匹配(原命令用-eq是精确匹配,若需求为包含则改用-like)
  • LocationNumber -notin $excludeLocations:一次性排除多个Location值,比多个-ne加-and的组合更简洁直观
  • 修正了原命令的逻辑错误,确保只有同时满足「Title含custod」且「Location不在排除列表」的用户才会被添加到组

内容的提问来源于stack exchange,提问作者lakeek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 15:45:55