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

如何通过双击以管理员权限运行PowerShell脚本并实现触摸屏开关切换

如何通过双击以管理员权限运行PowerShell脚本并实现触摸屏开关切换

嗨,我来帮你搞定这两个需求——让PowerShell脚本双击就能以管理员权限运行,还能一键切换触摸屏的开启/关闭状态!

一、让脚本双击即可以管理员权限运行

你之前尝试的快捷方式思路是对的,但需要调整几个细节,确保它能自动获取管理员权限并正确执行:

  1. 创建正确的快捷方式

    • 右键桌面空白处,选择「新建」→「快捷方式」
    • 在「目标」栏中粘贴以下命令(记得替换成你实际的脚本路径):
      C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -NoProfile -File "C:\Users\OnionMan\Desktop\Disable Touchscreen.ps1"
      
      这里的参数解释:
      • -ExecutionPolicy Bypass:临时绕过PowerShell的执行策略,比Unrestricted更安全,不会全局改变策略
      • -NoProfile:不加载用户的PowerShell配置文件,避免额外干扰
      • -File:指定要运行的脚本文件路径
  2. 设置快捷方式自动提权

    • 右键刚创建的快捷方式,选择「属性」
    • 切换到「快捷方式」标签页,点击「高级」按钮
    • 勾选「以管理员身份运行」,点击「确定」保存设置

现在双击这个快捷方式,会弹出UAC权限提示,确认后脚本就会以管理员权限运行了。

二、修改脚本实现触摸屏一键切换功能

你原来的脚本只能禁用触摸屏,我们可以修改它,让它自动判断当前状态并切换:

把下面的代码替换你原脚本的内容,保存后再用上面的快捷方式运行:

# 查找系统中的触摸屏设备(过滤出状态为启用/禁用的设备)
$touchScreenDevices = Get-PnpDevice | 
    Where-Object {
        $_.FriendlyName -like '*touch screen*' -and 
        $_.Status -in 'OK', 'Error'
    }

if ($touchScreenDevices) {
    foreach ($device in $touchScreenDevices) {
        if ($device.Status -eq 'OK') {
            # 当前是启用状态,执行禁用操作
            Disable-PnpDevice -InstanceId $device.InstanceId -Confirm:$false
            Write-Host "✅ 触摸屏已成功禁用" -ForegroundColor Green
        } else {
            # 当前是禁用状态,执行启用操作
            Enable-PnpDevice -InstanceId $device.InstanceId -Confirm:$false
            Write-Host "✅ 触摸屏已成功启用" -ForegroundColor Green
        }
    }
} else {
    Write-Host "❌ 未找到可用的触摸屏设备" -ForegroundColor Red
}

这个脚本的优势:

  • 用InstanceId定位设备,比仅靠FriendlyName更精准,避免误操作其他同名设备
  • 自动识别当前设备状态,一键完成切换
  • 带彩色提示信息,让你清楚知道操作结果

备注:内容来源于stack exchange,提问作者IT Rookie

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 11:27:57