news 2026/8/14 4:09:28

Windows 10 打印机全攻略:从图形界面到命令行,彻底掌握设备枚举与管理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Windows 10 打印机全攻略:从图形界面到命令行,彻底掌握设备枚举与管理

1. 项目概述:为什么需要列出所有已安装的打印机?

在日常办公或IT运维中,我们经常会遇到一些看似简单却让人头疼的问题。比如,公司新来的同事问你:“我的电脑连不上那台彩色打印机了,你能帮我看看吗?”或者,你自己想清理一下系统里那些早已报废、多年不用的打印机驱动,却发现根本记不清到底装过哪些。这时候,如果有一个快速、清晰的方法,能像清点仓库库存一样,把Windows 10电脑里所有“登记在册”的打印机——无论是本地USB连接的、网络共享的,甚至是曾经添加过但已离线的——都罗列出来,那解决问题的效率就会高得多。

这个操作的核心价值在于“信息透明化”。Windows系统,尤其是像Win10这样用户基数庞大的系统,其打印管理功能虽然图形化,但有时过于分散。你可能在“设置”里看到一部分,在老式的“控制面板”里看到另一部分,而一些通过脚本或组策略部署的打印机,可能藏在更深的系统层面。掌握多种列举方法,就等于拥有了从不同维度透视系统打印环境的能力。这对于故障排查、资产清点、标准化部署前的环境审计,乃至解决一些棘手的驱动冲突问题,都至关重要。

接下来,我将抛开那些笼统的教程,以一个老运维的实际经验,带你深入Win10的腹地,用几种截然不同但都极其有效的方法,把系统里所有的打印机“家底”翻个底朝天。我们会从最直观的图形界面开始,逐步深入到更高效、更强大的命令行工具,并分享一些在实战中才能积累的排查技巧和避坑指南。

2. 图形化界面操作:控制面板与设置应用的双重奏

很多用户习惯首先在图形界面里寻找答案,这是最直观的路径。在Win10中,微软提供了新旧两套设置界面,它们各有侧重,有时信息并不完全同步。

2.1 传统利器:控制面板中的“设备和打印机”

这是Windows系统中历史最悠久的打印机管理入口,虽然微软正试图用新的“设置”应用取代它,但对于打印机这类设备,控制面板的视图目前仍然是最全面、信息最丰富的之一。

操作路径与核心信息:

  1. 按下Win + R键,打开“运行”对话框,输入control并回车,即可快速启动控制面板。
  2. 在控制面板中,将“查看方式”改为“大图标”或“小图标”,找到并点击“设备和打印机”。
  3. 进入后,你看到的这个窗口,就是系统认为的“所有设备”的集合。在这里,打印机通常分为几类显示:
    • 默认打印机:会有一个绿色的对勾标记。
    • 其他已安装的打印机:包括本地打印机、网络打印机、无线打印机等。
    • 打印机对象:你甚至可能看到一些传真设备或虚拟PDF打印机(如“Microsoft Print to PDF”)。

注意:这里显示的“打印机”,严格来说是“打印机队列”或“打印机逻辑端口”。一个物理打印机如果通过不同方式(如TCP/IP端口和WSD端口)添加了两次,这里可能会显示两个图标。它们代表的是不同的连接通道,指向同一台硬件。

实操心得:

  • 视图的局限性:这个列表默认不显示已断开连接或脱机的打印机(除非你之前将它们设置为“脱机使用”)。要查看所有安装过的驱动,需要进入更深的菜单。
  • 关键操作入口:在“设备和打印机”窗口的菜单栏,点击“文件” -> “服务器属性”。在弹出的窗口中,切换到“驱动程序”选项卡。这里才是系统已安装的所有打印机驱动程序的“仓库”列表,无论其对应的打印机队列当前是否存在。清理陈旧的驱动就在这里进行。

2.2 现代界面:设置中的“蓝牙和其他设备”

Win10的“设置”应用提供了更现代化的界面,但它在打印机信息展示上做了简化。

操作路径:

  1. 点击“开始”菜单,选择“设置”(齿轮图标),或直接按Win + I
  2. 进入“设备” -> “打印机和扫描仪”。

这个界面列表非常简洁,主要显示当前可用的打印机,并允许你快速添加、删除或管理默认打印机。它的设计初衷是让普通用户进行最常用的操作,因此隐藏了大量技术细节。

图形化方法的优缺点对比:

方法优点缺点适用场景
控制面板信息全面,可管理驱动,视图经典熟悉步骤稍多,无法快速导出列表深度管理、驱动清理、查看所有历史安装记录
设置应用界面现代,操作简单快捷信息简略,无法查看已断开设备详情日常快速设置默认打印机、添加新打印机

对于只需要知道“我现在能用哪几台打印机”的用户,“设置”应用足够。但对于IT支持人员或需要彻底排查问题的用户,“控制面板”中的“服务器属性-驱动程序”列表是不可或缺的。然而,这两种图形方法都无法一键导出一份清晰的、可供存档或分析的文本列表。当你需要处理大量电脑,或者需要将打印机列表作为文档附件时,命令行工具的优势就无可比拟了。

3. 命令行与脚本利器:高效枚举与信息提取

当你需要重复操作、批量处理,或者追求极致的效率时,图形界面点击就显得力不从心了。Windows提供了强大的命令行工具,可以让你用一行命令获取所需信息,并且方便地输出到文件。

3.1 命令提示符的坚守者:WMIC

WMIC(Windows Management Instrumentation Command-line)是一个功能强大的命令行管理工具,虽然微软已宣布其废弃,但在Win10乃至Win11的当前版本中,它依然有效且非常好用。

基础列举命令:打开命令提示符(CMD),输入以下命令:

wmic printer get name

这条命令会列出所有已安装打印机的名称,是最干净的列表。

获取详细信息:如果你需要更多信息来做判断,比如打印机的状态、是否默认、驱动名称等,可以使用:

wmic printer get name, default, status, drivername

这个命令会返回一个表格,包含打印机名、是否为默认打印机、当前状态以及所使用的驱动名称。

高级过滤与导出:假设你只想看网络打印机,或者想把列表保存到文本文件中,WMIC也能轻松胜任。

# 只列出网络打印机(通常ShareName不为空) wmic printer where “sharename is not null” get name, sharename # 将完整打印机列表导出到D盘的printers.txt文件 wmic printer get /format:list > D:\printers.txt

导出的printers.txt文件内容结构清晰,每项属性单独成行,非常适合后续的脚本处理或文档整理。

注意事项:WMIC命令的执行速度取决于系统WMI服务的状态。如果系统负载高或WMI服务有问题,命令可能会响应缓慢或超时。此外,在一些高度精简或定制的Win10系统上,WMIC组件可能被移除。

3.2 新生代力量:Windows PowerShell

PowerShell是微软力推的下一代脚本环境和命令行工具,其基于对象的管道处理能力比CMD强大得多。对于打印机枚举,它提供了更现代、更灵活的Cmdlet。

使用 Get-Printer Cmdlet:在PowerShell(建议以管理员身份运行,以获取全部信息)中,最基本的命令是:

Get-Printer

这行命令会输出一个表格,默认包含名称、计算机名、类型、端口名等属性。信息比WMIC默认输出更丰富一些。

格式化输出与信息筛选:PowerShell的强大在于你可以自由控制输出什么、如何输出。

# 只显示打印机名称和状态,并按名称排序 Get-Printer | Select-Object Name, PrinterStatus | Sort-Object Name # 显示所有属性(信息非常详细) Get-Printer | Format-List * # 查找所有“脱机”的打印机 Get-Printer | Where-Object {$_.PrinterStatus -eq “Offline”}

导出为结构化文件:你可以轻松地将列表导出为CSV或JSON格式,方便用Excel打开或与其他系统交互。

# 导出为CSV文件 Get-Printer | Export-Csv -Path “C:\PrinterList.csv” -NoTypeInformation -Encoding UTF8 # 导出为JSON文件 Get-Printer | ConvertTo-Json | Out-File “C:\PrinterList.json”

CSV文件用Excel打开后,你可以进行筛选、排序、数据透视等所有表格操作,这对于管理成百上千台电脑的打印机资产来说,是图形界面无法比拟的效率提升。

命令行方法对比与选择建议:

工具语法特点输出灵活性适用场景与优势
CMD + WMIC动词-名词结构,相对固定较好,支持表格和列表格式导出系统兼容性极广(包括老系统),命令简短好记,适合快速单次查询。
PowerShell动词-名词结构,一致性强极强,可筛选、排序、格式化、导出多种格式自动化脚本的核心,处理复杂查询和批量操作,输出结果易于程序化处理。

实操心得:在大多数现代Win10电脑上,我优先推荐使用PowerShell。不仅因为它是未来,更因为其管道操作(|)让你能像搭积木一样组合命令。例如,Get-Printer | Where-Object {$_.Shared -eq $true} | Export-Csv .\SharedPrinters.csv这一条命令就能直接导出所有共享打印机列表,非常高效。对于需要定期收集资产信息的运维任务,写一个简单的PowerShell脚本,结合计划任务,可以实现全自动化。

4. 深入系统腹地:注册表与打印服务查询

当图形界面和常规命令行工具都“失灵”,或者你需要探究更深层次的配置信息时,就不得不触及Windows系统的核心——注册表和系统服务。这种方法技术性较强,通常用于高级故障排查或开发场景。

4.1 注册表中的打印机密钥

Windows系统中几乎所有配置的最终归宿都是注册表。打印机的安装信息也不例外。

关键注册表路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers在这个路径下,每个子键对应一台已安装的打印机(打印机队列)。键名就是打印机的内部名称(可能与显示名称略有不同)。

如何查看与解读:

  1. 按下Win + R,输入regedit打开注册表编辑器。操作注册表前务必谨慎,错误修改可能导致系统不稳定。
  2. 导航到上述路径。你可以看到一系列以打印机命名的文件夹。
  3. 点击任意一个打印机文件夹,右侧窗格会显示其详细配置,例如:
    • Name:打印机的显示名称。
    • Port:打印机使用的端口(如USB001192.168.1.100_9100)。
    • Printer Driver:所使用的驱动程序名称。
    • Print Processor:打印处理器,通常是winprint

警告切勿随意修改或删除这些键值,除非你非常清楚后果。这里只是作为信息查询的最后一招。误删可能导致打印机无法使用,甚至需要重建打印后台处理程序服务。

使用命令行查询注册表:如果你觉得图形化浏览regedit不够高效,也可以用命令来提取:

# 在CMD中使用reg query命令 reg query “HKLM\SYSTEM\CurrentControlSet\Control\Print\Printers” /s

这个命令会递归(/s)列出Printers键下所有子键和值,信息量巨大。通常需要配合findstr命令进行过滤,例如reg query ... | findstr “Name Port”

4.2 通过打印后台处理程序服务查询

打印后台处理程序(Spooler)服务是Windows打印功能的核心。我们也可以通过查询其内部状态来获取信息。

使用Print Management Snap-in(非核心方法,但专业):实际上,微软提供了一个更专业的图形工具:打印管理。按下Win+R,输入printmanagement.msc即可打开。在“打印服务器”->你的计算机名->“打印机”下,可以看到一个非常管理化的视图。但这个工具需要单独安装“打印和文件服务”管理工具,并非所有Win10版本默认都有。

使用PowerShell与WMI/CIM查询Spooler:更底层的方法是直接通过WMI查询打印后台处理程序相关的类。PowerShell的Get-CimInstanceGet-WmiObject(旧版)可以做到。

# 使用CIM(推荐,更现代) Get-CimInstance -ClassName Win32_Printer # 使用WMI(旧式,但兼容性广) Get-WmiObject -Class Win32_Printer

Win32_PrinterWMI类提供了极其丰富的属性,远超Get-Printercmdlet,包括Location,Comment,SystemName,WorkOffline等数十个字段。这对于需要编写复杂监控脚本或集成到管理系统的场景非常有用。

高级应用场景示例:假设你需要监控公司所有打印机是否处于“错误”状态,并自动发送警报。你可以编写一个PowerShell脚本,定期查询Win32_Printer,过滤PrinterStatus为特定错误码(如3-5代表各种错误)的打印机,然后通过邮件或即时通讯工具API发送通知。这种深度集成能力是图形界面无法实现的。

深度方法对比与风险提示:

方法信息深度风险与复杂度典型应用场景
注册表查询最深,包含所有原始配置数据风险高,浏览需谨慎,切勿随意修改驱动冲突根源分析、罕见故障排查、配置项恢复。
WMI/CIM查询非常深,提供面向对象的完整属性集复杂度中高,需要熟悉WMI类和PowerShell企业级监控、资产管理系统集成、自动化运维脚本开发。

除非必要,普通用户和大多数IT支持场景应优先使用前两章介绍的方法。注册表和WMI查询是留给那些真正需要“刨根问底”的时刻,或者当你怀疑系统级别的打印服务出现异常,导致常规工具无法正确报告信息时使用。

5. 实战问题排查与高级技巧汇编

掌握了多种列举方法后,我们面对的不再是“如何列出”,而是“列出的结果不对劲,怎么办?”。下面这些是我在多年支持工作中积累的常见问题场景和解决技巧。

5.1 常见异常场景与解决方案

场景一:列表中出现重复或幽灵打印机。

  • 现象:在控制面板或命令列表中,同一台物理打印机出现了多次,名称可能略有不同(如后缀有“副本”或端口不同)。
  • 原因:通常是因为多次使用不同方式添加(如“添加打印机”向导搜索到多次),或驱动程序安装不完整/冲突后残留。
  • 解决
    1. 首先尝试删除所有重复的打印机队列。
    2. 打开“设备和打印机”,在菜单栏选择“文件”->“服务器属性”->“驱动程序”选项卡,删除与该打印机对应的陈旧驱动。
    3. 重启电脑(或重启“Print Spooler”服务)。
    4. 重新使用正确的IP地址或USB连接添加打印机。

场景二:网络打印机在列表中显示为“脱机”或“错误”,但实际网络通畅。

  • 现象Get-Printer显示状态为Offline,Ping打印机IP地址是通的。
  • 原因:Windows可能使用了错误的端口类型(如WSD端口不稳定),或打印机后台处理程序缓存了错误状态。
  • 解决
    1. 删除现有的打印机。
    2. 手动添加打印机,选择“使用TCP/IP地址或主机名添加打印机”。
    3. 在端口设置中,务必取消勾选“查询打印机并自动选择要使用的驱动程序”,然后从列表中选择一个正确的驱动。这个自动查询功能经常是网络打印机问题的元凶。
    4. 更彻底的方案是,在打印机属性-端口配置中,创建一个新的“Standard TCP/IP Port”,而不是使用WSD端口。

场景三:使用wmicGet-Printer命令无输出或报错。

  • 现象:命令行窗口卡住,或返回访问被拒绝、RPC服务器不可用等错误。
  • 原因:Windows Management Instrumentation (WMI) 服务或Print Spooler服务未运行或损坏;权限不足(尤其是PowerShell未以管理员运行)。
  • 解决
    1. 以管理员身份运行命令提示符或PowerShell。
    2. 检查服务状态:在服务(services.msc)中,确保“Windows Management Instrumentation”和“Print Spooler”两个服务都处于“正在运行”状态。可以尝试重启它们。
    3. 如果WMI服务损坏,可以尝试在管理员CMD中运行winmgmt /verifyrepository检查,并用winmgmt /salvagerepository尝试修复。这是一个较深层的操作,需谨慎。

5.2 自动化脚本与资产清点实战

对于需要管理大量计算机的IT管理员,手动每台电脑去查是不现实的。这里分享一个实用的PowerShell脚本框架,用于远程或批量收集打印机信息。

# 示例:收集本机打印机信息并导出为详细CSV $Printers = Get-CimInstance -ClassName Win32_Printer | Select-Object ` Name, @{Name=“DriverName”; Expression={$_.DriverName}}, @{Name=“PortName”; Expression={$_.PortName}}, @{Name=“Shared”; Expression={$_.Shared}}, @{Name=“ShareName”; Expression={$_.ShareName}}, @{Name=“Location”; Expression={$_.Location}}, @{Name=“Comment”; Expression={$_.Comment}}, @{Name=“PrinterStatus”; Expression={$_.PrinterStatus}}, @{Name=“WorkOffline”; Expression={$_.WorkOffline}}, @{Name=“Default”; Expression={$_.Default}} # 将状态代码转换为可读文本 $StatusMap = @{ 1=“其他”; 2=“未知”; 3=“空闲”; 4=“正在打印”; 5=“预热”; 6=“停止打印”; 7=“脱机”; 8=“错误”; 9=“忙”; 10=“不可用” } foreach ($printer in $Printers) { $printer.PrinterStatus = $StatusMap[[int]$printer.PrinterStatus] } $Printers | Export-Csv -Path “$env:USERPROFILE\Desktop\LocalPrinterInventory_$(Get-Date -Format ‘yyyyMMdd’).csv” -NoTypeInformation -Encoding UTF8 Write-Host “打印机清单已导出到桌面。” -ForegroundColor Green

这个脚本使用了Win32_PrinterWMI类来获取最全面的信息,并将数字状态码转换成了易懂的文字,最后导出到桌面一个带有日期的CSV文件中。你可以将此脚本通过组策略、远程执行工具(如PSExec)或配置管理工具(如SCCM, Ansible)推送到域内所有电脑上执行,并让它们将结果文件上传到共享服务器,从而实现全公司打印机资产的自动化清点。

5.3 驱动管理与冲突预防心得

打印机问题大半与驱动有关。列出打印机后,如何管理驱动是保持系统健康的关键。

  • 驱动存储位置:系统级的打印机驱动通常存放在C:\Windows\System32\spool\drivers目录下。x64系统有x64x32子文件夹分别存放64位和32位驱动。了解这个位置有助于在极端情况下手动清理文件。
  • 优先使用厂商官方驱动:Windows Update提供的通用驱动可能功能不全或稳定性欠佳。尤其是对于多功能一体机(打印、扫描、传真),务必从打印机厂商官网下载完整的驱动包进行安装。
  • 安装顺序的玄学:有时,先连接USB线让系统自动搜索安装,再运行官方安装程序,会导致冲突。一个更干净的做法是:先不要连接打印机,直接运行厂商的安装程序,当程序提示时再连接USB线或输入网络地址。让安装程序全程掌控驱动安装和端口配置过程,成功率更高。
  • “打印测试页”是试金石:成功添加打印机后,务必右键点击打印机,选择“打印机属性”,在“常规”选项卡点击“打印测试页”。如果测试页能正常打印,说明驱动、端口、通信整个链路基本畅通。这是验证打印机是否真正“可用”的最直接方法。

列出已安装的打印机,这个操作本身并不复杂,但它像一把钥匙,打开了Windows打印子系统管理的大门。从图形界面的直观浏览,到命令行的高效筛选,再到系统底层的深度查询,不同方法应对不同场景。对于普通用户,记住“控制面板”里的“设备和打印机”以及“设置”里的相关选项就足够了。对于IT支持人员,熟练使用Get-Printerwmic printer命令,并能解读其输出,是必备技能。而对于系统管理员或开发者,理解WMI查询和注册表结构,则意味着具备了解决复杂问题和实现自动化管理的能力。下次再遇到打印机相关的疑难杂症时,不妨先花一分钟,用今天介绍的几种方法之一,把系统的“打印机家底”摸清楚,很多问题的根源往往就藏在这份清单的细节之中。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/14 4:08:06

IP组播与IGMP协议实战:从原理到抓包分析

1. 项目概述:从“一对多”通信的困惑说起如果你在搞网络,尤其是涉及到视频直播、在线会议、或者大规模数据分发这类“一对多”的场景,那你肯定绕不开“组播”这个概念。我第一次接触组播时,感觉它像是个“黑魔法”——配置好了&am…

作者头像 李华
网站建设 2026/8/14 4:07:51

客人总爱偷偷改动热水器?三招帮你守住安全底线

小型宾馆热水系统看似简单,实际运维中却常因客人随意拧动设备旋钮、私自更改参数而埋下隐患。我们团队在实地调研中发现,很多宾馆前台都遇到过这样的糟心事:客人因水温稍低就擅自打开电控柜调节,轻则导致系统保护性停机&#xff0…

作者头像 李华
网站建设 2026/8/14 4:04:43

AI巨头上市潮下,开发者如何构建可插拔、抗风险的AI应用架构

最近AI领域真是热闹非凡,先是Anthropic传出即将上市的消息,紧接着OpenAI也被曝出可能在明年跟进。作为技术从业者,我们关注的不仅是资本市场的风云变幻,更是这些技术巨头上市背后,对开发者生态、技术开源与商业化路径带…

作者头像 李华
网站建设 2026/8/14 4:04:04

告别滚动拼接:如何用Chrome扩展一键获取完整网页截图

告别滚动拼接:如何用Chrome扩展一键获取完整网页截图 【免费下载链接】full-page-screen-capture-chrome-extension One-click full page screen captures in Google Chrome 项目地址: https://gitcode.com/gh_mirrors/fu/full-page-screen-capture-chrome-extens…

作者头像 李华
网站建设 2026/8/14 4:00:39

LWD:具身智能决策大世界模型,从感知到行动的关键桥梁

1. 项目概述:从“通才”到“专精”的具身智能训练新范式最近在具身智能的圈子里,罗剑岚团队提出的LWD(Large World Model for Decision-making)引发了不少讨论。如果你关注过他们之前的工作,比如那个旨在打造“通才”智…

作者头像 李华