我使用装有 Windows 10 Pro 的笔记本电脑。我在几个不同的网络之间移动。每个网络都有自己的打印机。当我从一个网络移动到另一个网络时,不必不断更改默认打印机就太好了。
有一次,我在 Windows 7 Pro 操作系统上设置了此功能,以便它会根据我登录的网络切换默认打印机。我一直在研究这个问题,但似乎在 Windows 10 Pro 中找不到相同的设置。
一个网络是 Active Directory,另一个是点对点网络。没有组策略阻止这些更改,并且我对笔记本电脑和两个网络拥有完全的管理权限。
在 Windows 10 Pro 中,如何通过网络位置设置默认打印机?
答案1
我也一直在寻找此问题的解决方案,并且找到了我认为可以接受的解决方法。
您可以使用任务计划程序运行批处理文件来设置默认打印机。您可以将任务设置为在连接到特定无线网络时自动运行。
我设置了两个任务 - 一个用于工作,一个用于家庭。它成功地自动更改了默认打印机,没有任何明显的提示(不需要用户交互,也不会弹出任何窗口或任何东西)。
完整的过程如下:
首先,转到“管理工具”中的“事件查看器”,在“应用程序和服务日志”下,导航到“Microsoft...Windows...WLAN-AutoConfig...Operational”。查看日志中的每个条目,直到找到一个显示“WLAN AutoConfig 服务已成功连接到无线网络”的条目,然后查看事件 ID(可能是 8001)。在该屏幕上的某个地方,您应该能够找到日志条目所指的特定网络的 SSID。对于您希望更改默认打印机的每个网络,找到日志条目并执行以下操作:
在右侧的“操作”下,向下滚动并单击“将任务附加到此事件” - 不要与“将任务附加到此日志”混淆,按照任务向导,随意命名,当你进入操作时,选择“启动程序”,将其指向你的批处理文件,单击下一步,在完成屏幕上,选中“单击完成后打开此任务的属性对话框”复选框。在属性对话框中,在安全选项下,选择“无论用户是否登录都运行”并选中“以最高权限运行”复选框(稍后会要求输入用户帐户密码)。转到“触发器”选项卡并选择“编辑”,将设置从基本切换到自定义,单击“新事件过滤器”,然后单击“XML”选项卡,选中“手动编辑查询”复选框并粘贴以下内容:
<QueryList>
<Query Id="0" Path="Microsoft-Windows-WLAN-AutoConfig/Operational">
<Select Path="Microsoft-Windows-WLAN-AutoConfig/Operational">*[System[Provider[@Name='Microsoft-Windows-WLAN-AutoConfig'] and (EventID=8001)]]and *[EventData[Data[@Name='SSID']='YOUR NETWORK NAME']]</Select>
</Query>
</QueryList>
确保 EventID 正确,并使用单引号输入相应的 SSID。单击“确定”,然后确保选中“已启用”框,再次单击“确定”。接下来转到“条件”选项卡,确保未选中“仅当计算机使用交流电源时启动任务”框 - 请勿尝试使用“网络”下的设置,其中显示“仅当以下网络可用时启动” - 这不起作用。单击“确定”,您就完成了。
对您想要在其上设置不同默认打印机的每个无线网络重复此过程 - 每个网络都需要自己的批处理文件和相应的计划任务。希望我记得所有细节!让我知道 :-)