如何使用Get-ADComputer结合LDAP筛选器查询多操作系统AD计算机
扩展Get-ADComputer查询以支持多种操作系统
嘿,我来帮你把现有的AD计算机查询代码扩展成支持多种操作系统的版本,同时保留你已经设置好的名称过滤规则~
修改后的完整代码
# 定义LDAP筛选器,支持多种操作系统,保留原有的名称过滤规则 $computersFilter = "(&(|(operatingSystem=*Windows 7*)(operatingSystem=*Windows 10*)(operatingSystem=*Windows Server 2019*))(name=*-*)(!name=V7-*)(!name=*-none)(!name=*-oncall)(!name=*-blackbaud)(!name=sc-win7-1)(!name=ut-swclient-01))" # 查询AD计算机并获取指定属性 $computers = Get-ADComputer -LDAPFilter $computersFilter -Property LastLogonDate | Select-Object Name, OperatingSystem, LastLogonDate # 导出结果到CSV(记得替换$ServiceTagsPath为你的实际路径) $computers | Export-Csv $ServiceTagsPath -NoTypeInformation
关键修改说明
- 我用LDAP的
(|...)运算符把多个操作系统的条件包裹起来,实现或逻辑匹配——这样就能同时查询Windows 7、Windows 10和Windows Server 2019的计算机了 - 完全保留了你原有的名称过滤规则:包含连字符的名称,同时排除特定前缀/后缀的机器
- 代码结构和原逻辑一致,只是扩展了操作系统的筛选范围
自定义扩展提示
如果需要添加更多操作系统(比如Windows 11、Windows Server 2022),只需要在(|...)块里新增对应的条目就行,比如:
(|(operatingSystem=*Windows 7*)(operatingSystem=*Windows 10*)(operatingSystem=*Windows 11*)(operatingSystem=*Windows Server 2019*)(operatingSystem=*Windows Server 2022*))
内容的提问来源于stack exchange,提问作者Our Man in Bananas
相关产品推荐
相关产品推荐

