win11需按wifi网络自动切换打印机:先确认共享主机与电脑同子网且通信正常,再将wifi设为专用网络并启用发现与打印共享,最后用powershell脚本+任务计划程序实现ssid触发的自动连接,并预装对应驱动。

Win11电脑每次连上公司WiFi后都要手动添加共享打印机,而回家连自家WiFi又得删掉重装家用打印机,反复操作耗时且容易选错驱动;你真正需要的是一套按WiFi网络自动匹配并加载对应打印机的机制,而不是每次都从头开始点选。
确认打印机共享主机与当前电脑在同一子网
按 Win+R → 输入 cmd → 回车 → 执行 ipconfig,记下本机 IPv4 地址(如 192.168.3.15);再用手机或另一台电脑查共享打印机所在主机的 IP(如 192.168.3.10),若前三位不一致(例如一个是 192.168.3.x,另一个是 192.168.10.x),说明不在同一局域网,后续所有自动绑定操作都将失败。
用同一命令行窗口执行 ping 192.168.3.10(替换为目标主机IP),若返回“请求超时”,代表基础通信被阻断,可能是路由器启用了AP隔离,需联系IT关闭该选项。
将目标WiFi设为“专用网络”并启用发现服务
按下 Win+I → 进入“网络和 Internet” → 点击“Wi-Fi” → 找到当前连接的公司WiFi名称(如 “Office-5G”)→ 点击进入 → 将“网络配置文件类型”改为“专用”。【改完必须等待5秒以上再进行下一步,系统后台服务刷新需要时间】
接着点击左侧“高级网络设置” → “网络和共享中心” → “更改高级共享设置” → 展开“专用”部分 → 勾选“启用网络发现”和“启用文件和打印机共享” → 滚动到底部“所有网络”区域 → 将“密码保护的共享”设为“关闭” → 点击“保存更改”。
右键任务栏“文件资源管理器”图标 → 选择“重新启动”,否则新共享策略不会生效。
为不同WiFi网络分别预存打印机连接脚本
方法一:用PowerShell脚本按SSID自动触发连接
以管理员身份运行 PowerShell(右键开始菜单 → “Windows Terminal(管理员)”)→ 执行以下命令创建脚本:
New-Item -Path "$env:USERPROFILEDocumentsPrinterScripts" -ItemType Directory -Force
用记事本新建文件,粘贴以下内容(替换其中的SSID名、UNC路径和打印机名):
# CompanyPrinter.ps1
if (netsh wlan show interfaces | Select-String "SSID.*Office-5G") {
Add-Printer -ConnectionName "\192.168.3.10HP_M1005_Office"
}
保存为 CompanyPrinter.ps1,放在刚建的 PrinterScripts 文件夹中。注意 UNC 路径中的共享名必须是纯英文、无空格(如 HP_M1005_Office),否则脚本会报错。
方法二:用任务计划程序监听WiFi切换事件
打开“任务计划程序” → 右侧“创建基本任务” → 命名为“Connect Office Printer” → 触发器选“当特定事件被记录时” → 日志选“Microsoft-Windows-WLAN-AutoConfig/Operational” → 事件ID填 8001(表示成功连接WiFi)→ 操作选“启动程序” → 程序填 powershell.exe → 参数填:-ExecutionPolicy Bypass -File "%USERPROFILE%DocumentsPrinterScriptsCompanyPrinter.ps1" → 完成。
重复上述步骤,为家用WiFi(如 “Home-2.4G”)创建另一套脚本和任务,UNC路径指向家里的共享主机(如 \192.168.1.5Canon_Home)。
手动验证并补全驱动依赖
首次运行脚本前,先手动通过 UNC 路径连接一次目标打印机:按 Win+R → 输入 \192.168.3.10HP_M1005_Office → 回车 → 若弹出驱动缺失提示,立即去惠普官网下载 Windows 11 兼容的 M1005 驱动包,解压后记住 .inf 文件完整路径(如 C:DriversM1005hpz2ku07.inf)。
在 PowerShell 中执行:pnputil /add-driver "C:DriversM1005hpz2ku07.inf" /install,确保驱动已注入系统驱动库;否则脚本调用 Add-Printer 时会因找不到驱动而静默失败。
现在断开当前WiFi → 重新连接 “Office-5G” → 等待约10秒 → 打开“设置→打印机和扫描仪”,目标打印机应已出现在列表中且状态为“就绪”。











