如何为不同Windows用户配置专属显示器并自动禁用其他工作台显示器
如何为不同Windows用户配置专属显示器并自动禁用其他工作台显示器
当然可以实现!这在Windows上有几种靠谱的方案,我给你梳理几个实用的,不管你喜欢用系统自带工具还是第三方软件都能搞定:
方案一:PowerShell脚本 + 任务计划程序(免费无额外软件)
这是最原生的方案,不用装任何东西,靠Windows自带工具就能实现:
第一步:获取显示器的设备ID
打开PowerShell(右键开始菜单选Windows PowerShell),输入命令:Get-PnpDevice -Class Display你会看到所有显示器的列表,找到对应两个工作台的显示器,记下它们的
InstanceId(看起来像USB\VID_xxxx&PID_xxxx\...或者DISPLAY\...的一串字符)。第二步:编写启用/禁用显示器的脚本
新建一个文本文件,把后缀改成.ps1,比如WorkbenchA_DisplaySetup.ps1,内容如下(把InstanceId换成你刚才记下的对应显示器ID):# 启用工作台A的显示器,禁用工作台B的 Enable-PnpDevice -InstanceId "工作台A显示器1的ID" -Confirm:$false Enable-PnpDevice -InstanceId "工作台A显示器2的ID" -Confirm:$false Disable-PnpDevice -InstanceId "工作台B显示器1的ID" -Confirm:$false Disable-PnpDevice -InstanceId "工作台B显示器2的ID" -Confirm:$false同理,给另一个用户创建对应的脚本
WorkbenchB_DisplaySetup.ps1,逻辑反过来就行。第三步:设置任务计划程序自动运行脚本
- 打开「任务计划程序」(可以在开始菜单搜索)
- 点击「创建基本任务」,命名比如“登录时加载工作台A显示器配置”
- 触发条件选「当用户登录时」,然后选择对应的用户
- 操作选「启动程序」,程序/脚本选
powershell.exe,添加参数填:-ExecutionPolicy Bypass -File "C:\路径\到\你的脚本\WorkbenchA_DisplaySetup.ps1" - 最后勾选「当单击完成时,打开此任务属性的对话框」,在属性里切换到「安全选项」,勾选「不管用户是否登录都要运行」和「使用最高权限运行」(因为禁用设备需要管理员权限)
方案二:第三方工具DisplayFusion(可视化操作,适合新手)
如果不想写脚本,DisplayFusion是专门管理多显示器的神器,支持配置文件自动切换:
- 安装DisplayFusion后,打开「显示器配置文件」功能
- 创建两个配置文件:比如“工作台A配置”和“工作台B配置”,分别设置对应显示器的启用/禁用状态(在显示器设置里直接勾选/取消勾选就行,直观得很)
- 然后到「设置」→「登录/注销」里,设置每个用户登录时自动加载对应的配置文件,下次用户登录就会自动切换显示器状态了
方案三:轻量命令行工具NirCmd(小巧灵活)
NirCmd是个几百KB的绿色工具,不用安装,就能通过命令控制显示器:
- 下载NirCmd后,把它放到系统路径里(比如
C:\Windows\System32),这样随便哪个文件夹都能调用 - 新建一个批处理文件(
.bat),比如WorkbenchA_Display.bat,内容如下(\\.\DISPLAY2是显示器的编号,你可以用nircmd.exe enumdisplays命令查看所有显示器的编号):rem 禁用工作台B的显示器 nircmd.exe monitor off \\.\DISPLAY4 nircmd.exe monitor off \\.\DISPLAY5 rem 启用工作台A的显示器(如果需要的话,默认登录后可能已经启用) nircmd.exe monitor on \\.\DISPLAY1 nircmd.exe monitor on \\.\DISPLAY2 nircmd.exe monitor on \\.\DISPLAY3 - 同样用任务计划程序设置用户登录时运行这个批处理文件就行
注意事项
- 不管用哪个方案,都要确保用户有管理员权限,不然可能无法禁用设备
- 测试脚本/配置的时候,先手动运行一遍,确认效果再设置自动运行,避免登录后显示器全黑的尴尬情况
- 如果是笔记本电脑,注意区分内置显示器和外接显示器的ID/编号
备注:内容来源于stack exchange,提问作者Kroma




