如何使用PowerShell的Get-Printer命令通过端口名(IP)搜索打印服务器上的打印机
答复
完全可以实现,根据你的使用场景可以选择以下两种方案:
方案1:使用-Filter参数在服务端过滤(推荐,性能更优)
过滤逻辑直接在打印服务器侧执行,不需要拉取全量打印机数据到本地,尤其适合打印服务器上挂载打印机数量较多的场景。
精确匹配指定端口的命令示例:
Get-Printer -ComputerName "server01" -Filter "PortName = '你要匹配的目标IP地址'" | Select-Object Name, PortName
如果需要模糊匹配端口段,也可以用通配符实现:
# 示例:匹配所有192.168.2段的IP对应的打印机 Get-Printer -ComputerName "server01" -Filter "PortName LIKE '192.168.2.*'" | Select-Object Name, PortName
方案2:管道搭配Where-Object在本地过滤
如果已经拉取了全量打印机数据,或者需要结合其他复杂条件做筛选,可以用本地过滤的方式实现:
Get-Printer -ComputerName "server01" | Where-Object PortName -eq "你要匹配的目标IP地址" | Select-Object Name, PortName
内容的提问来源于stack exchange,提问作者user14029480
相关产品推荐
相关产品推荐

