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

如何通过PowerShell移除包含通配符字符的打印机?

解决Remove-Printer命令因打印机名称含[]通配符报错的问题

当打印机名称包含[]这类PowerShell通配符字符时,Remove-Printer会将其当作通配符模式解析,从而触发WildcardPatternException。以下几种方法可以解决这个问题:

方法1:通过打印机对象直接删除

先精准定位目标打印机对象,再传递给Remove-Printer,绕开名称的通配符解析:

# 获取目标打印机对象(精确匹配名称)
$targetPrinter = Get-Printer | Where-Object { $_.Name -ceq '[Follow_Me_Colour_Duplex [ServerName](Mobility)]' }
# 删除打印机
Remove-Printer -PrinterObject $targetPrinter

也可以直接用管道简化:

Get-Printer | Where-Object { $_.Name -ceq '[Follow_Me_Colour_Duplex [ServerName](Mobility)]' } | Remove-Printer

-ceq是精确大小写匹配,不会触发通配符解析,确保只匹配目标打印机。

方法2:转义名称中的通配符字符

用PowerShell的反引号()转义[]`,让命令将其当作普通字符处理:

# 自动转义名称中的通配符
$escapedName = '[Follow_Me_Colour_Duplex [ServerName](Mobility)]' -replace '([\[\]])', '`$1'
# 使用转义后的名称删除
Remove-Printer -Name $escapedName

这里的-replace用正则表达式匹配所有[],并在每个字符前添加反引号完成转义。

方法3:通过CIM/WMI底层接口操作

绕开PowerShell的打印机cmdlet,直接用CIM对象删除,避免通配符解析问题:

# 定位并删除目标打印机
Get-CimInstance -Class Win32_Printer | Where-Object { $_.Name -eq '[Follow_Me_Colour_Duplex [ServerName](Mobility)]' } | Remove-CimInstance

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 18:45:26