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

如何从CSV计算机名称列表查询AD中处于停用状态的对应设备

需求说明

查询Active Directory(AD)中处于停用状态的计算机,查询范围仅限定为指定CSV列表内包含的计算机名称,最终仅输出该CSV列表中存在的停用设备。

原有脚本问题

现有脚本的逻辑存在问题:将CSV提取的计算机名通过管道传给Get-ADComputer时,-Filter {(Enabled -eq $False)}参数会全局检索AD域内所有符合停用条件的计算机,忽略管道传入的限定范围,最终返回的是全域停用设备,不符合筛选要求。

修正后脚本
# 读取目标CSV中的所有计算机名称存入数组
$targetPcList = Import-CSV -Path "C:\pc_names.csv" | Select -ExpandProperty Name

# 查询全域停用设备后,筛选仅在目标列表内的设备导出
Get-ADComputer -SearchBase 'XXX' -Filter {Enabled -eq $False} -Properties Name,OperatingSystem | 
Where-Object {$targetPcList -contains $_.Name} |
Export-CSV "C:\Temp\DisabledComps.CSV" -NoTypeInformation -Encoding UTF8
补充说明
  • 如果你使用的CSV文件路径不是csv后缀,可自行修改Import-CSV的Path参数值为你的实际文件路径
  • 新增的-Encoding UTF8参数用于避免导出CSV时出现中文乱码,无中文需求可直接删除
  • 如果目标计算机列表量级很小,也可改用遍历查询的写法,上述写法在AD设备量级较大时查询效率更高

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 21:00:02