如何使用Powershell查询两个不同OU下名称以COMP开头的计算机列表
PowerShell 查询两个不同OU下COMP前缀计算机列表实现方案
注意:运行脚本前请确认当前登录账号拥有两个目标OU的Active Directory读取权限,且已提前导入AD模块,导入命令为
Import-Module ActiveDirectory,该模块属于RSAT工具集的AD PowerShell组件。
以下是可直接复用的脚本:
# 替换为你实际要查询的两个OU的可分辨名称 $targetOUs = @( "OU=办公设备,DC=your-domain,DC=com", "OU=生产设备,DC=your-domain,DC=com" ) # 遍历所有目标OU查询符合规则的计算机 $targetOUs | ForEach-Object { Get-ADComputer -Filter { Name -like "COMP*" } -SearchBase $_ -SearchScope Subtree } | Select-Object Name, DNSHostName, DistinguishedName, Enabled | Format-Table -AutoSize
参数说明:
-Filter { Name -like "COMP*" }为你已掌握的名称匹配规则,仅返回名称以COMP开头的计算机对象-SearchBase $_逐次指定数组中的两个OU作为查询根路径-SearchScope Subtree表示查询指定OU及其所有子OU,若仅需查询OU第一层的计算机,可替换为OneLevel- 最终
Select-Object后的字段可按需调整,如需增加最后登录时间、操作系统等信息直接添加对应属性名即可
如果需要将结果导出为CSV文件,可使用如下版本:
$targetOUs = @( "OU=办公设备,DC=your-domain,DC=com", "OU=生产设备,DC=your-domain,DC=com" ) $compResult = $targetOUs | ForEach-Object { Get-ADComputer -Filter { Name -like "COMP*" } -SearchBase $_ -SearchScope Subtree } | Select-Object Name, DNSHostName, DistinguishedName, Enabled # 导出到桌面,可自行修改存储路径 $compResult | Export-Csv -Path "$env:USERPROFILE\Desktop\COMP前缀计算机列表.csv" -NoTypeInformation -Encoding UTF8
内容的提问来源于stack exchange,提问作者Ken
相关产品推荐
相关产品推荐

