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

如何通过CMD/PowerShell实现域用户免输密码以管理员身份启动程序

域用户免输密码以管理员权限启动程序解决方案

你之前尝试的所有方案失效的核心原因是:runas、仅带-Credential参数的Start-Process都只做了身份切换,没有触发UAC权限提升,即使用管理员账号启动程序,拿到的也是标准用户权限,不是完整的管理员权限。以下是两种可直接落地的方案:

方案1:域组策略部署计划任务(域环境首选,安全性高)

该方案不需要终端留存管理员明文密码,支持批量部署,适配所有Windows版本:

  • 第一步:创建计划任务
    1. 打开任务计划程序,新建任务,自定义任务名例如启动Notepad++管理员版
    2. 常规选项卡勾选使用最高权限运行,安全选项设置为不管用户是否登录都要运行,保存时输入管理员账号密码完成授权
    3. 触发器选项卡不添加任何触发器
    4. 操作选项卡新建操作,操作类型选「启动程序」,程序或脚本路径填C:\Program Files\Notepad++\notepad++.exe
    5. 条件选项卡取消所有电源相关的限制勾选,设置选项卡取消停止运行超过以下时长的任务勾选,保存任务
  • 第二步:开放普通用户执行该任务的权限
    打开CMD执行命令:
    schtasks /change /tn "启动Notepad++管理员版" /RU "BUILTIN\Users"
  • 第三步:创建用户快捷方式
    新建快捷方式,目标位置填:
    schtasks /run /tn "启动Notepad++管理员版"
    快捷方式图标可替换为Notepad++原生图标,用户点击后直接启动管理员权限的程序,无任何弹窗。
  • 域环境下可通过组策略批量部署该计划任务和快捷方式,一次性覆盖所有域用户。

方案2:PowerShell组合权限脚本(小范围临时使用)

该方案实现简单,但管理员密码会明文保存在脚本中,安全性低,仅适合安全要求不高的小范围场景使用。
修改后的完整脚本如下,保存为.ps1格式文件:

# 域环境账号格式为 域名\管理员账号 格式
$adminUser = "admin"
$adminPwd = ConvertTo-SecureString "你的管理员密码" -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential($adminUser, $adminPwd)
Start-Process powershell -Credential $cred -ArgumentList "-Command Start-Process 'C:\Program Files\Notepad++\notepad++.exe' -Verb RunAs" -WindowStyle Hidden

给用户创建的快捷方式目标填:
powershell -ExecutionPolicy Bypass -WindowStyle Hidden -File "C:\存放路径\脚本名称.ps1"

注意事项

  • 方案2的脚本需存放在普通用户无写入权限的路径,避免脚本被篡改或密码泄露
  • 域生产环境必须使用方案1,管理员密码仅在创建计划任务时输入一次,终端用户完全接触不到密码,安全性有保障

内容的提问来源于stack exchange,提问作者tfc

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 01:45:03