V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
x1aoYao
V2EX  ›  Windows

求助: win11 怎么让标准用户能运行某个需要管理员权限的程序呢?

  •  
  •   x1aoYao · 2021-12-11 18:07:20 +08:00 · 3221 次点击
    这是一个创建于 1086 天前的主题,其中的信息可能已经有所发展或是发生改变。

    不希望给标准用户管理员权限,也不希望给标准用户管理员密码, 只是允许标准用户能运行这个需要管理员权限的程序,有什么简单的方式能实现吗?

    因为我老婆的妹妹有时会在我家办公,我给他创建了一个标准账户用。 最近她需要远程操作他的工作电脑,用的 todesk ,但是 todesk 需要管理员运行,即使只是作为客户端 而非受控端。每次都要我去输入密码挺麻烦的...

    我试了添加计划任务,当他登录时自动运行,设置用最高权限都不行,这玩意儿还真是无解了吗?

    17 条回复    2021-12-13 13:24:47 +08:00
    codehz
        1
    codehz  
       2021-12-11 18:42:47 +08:00
    (先看看是不是真的要特权才能跑。。。
    执行前设置一个 __COMPAT_LAYER=RunAsInvoker 环境变量试试功能会不会异常
    v2tudnew
        2
    v2tudnew  
       2021-12-11 18:51:48 +08:00
    v2tudnew
        3
    v2tudnew  
       2021-12-11 19:11:00 +08:00
    @v2tudnew #2 不用试了,好像也是利用计划任务实现的,计划任务管理权限只能搞无 GUI ,如果有第三方程序口令控制倒也能间接实现。
    wevsty
        4
    wevsty  
       2021-12-11 19:11:45 +08:00
    更换一个不需要管理员权限就能远程或者支持远程按照账户分配权限的远程软件就好了。
    xiaopc
        5
    xiaopc  
       2021-12-11 21:22:28 +08:00
    @v2tudnew 如果是因为进程被放到 session 0 而不是用户态的 session 从而不显示界面的话,可以写个小工具,用 SetTokenInformation 拿到当前用户的 session id 再 CreateProcessAsUser 创建进程
    Greatshu
        6
    Greatshu  
       2021-12-11 21:24:11 +08:00
    Cooky
        7
    Cooky  
       2021-12-11 21:27:32 +08:00
    让她用 rdp ?
    learningman
        8
    learningman  
       2021-12-12 00:50:29 +08:00
    一楼说的是可行的,ToDesk 原来在 V2EX 出过瓜,然后开发者说管理员权限只有部分功能需要,是有小白不知道怎么开关,干脆统一要了
    dingwen07
        9
    dingwen07  
       2021-12-12 06:41:25 +08:00
    Sandboxie 模拟 UAC 权限


    @learningman #8 业界的普遍做法就是需要时请求,我是想不出为什么要一直管理员权限
    ly841000
        10
    ly841000  
       2021-12-12 09:26:18 +08:00
    @v2tudnew 计划任务可以在当前桌面创建高权限 gui 进程的,但是比较麻烦
    v2tudnew
        11
    v2tudnew  
       2021-12-12 09:41:24 +08:00
    @learningman #8
    @dingwen07 #9
    /t/770019 就是我了😅,不过你们这么一说,我倒是记起它安装时会添加系统服务,然后试了下,设置开机启动可以在标准用户下自启程序,应当是可以远程了。
    x1aoYao
        12
    x1aoYao  
    OP
       2021-12-13 09:34:37 +08:00
    @codehz 好像对 todesk 不行...
    @wevsty @Cooky 如果是我自己用我就换了 rdp 了
    x1aoYao
        13
    x1aoYao  
    OP
       2021-12-13 09:36:00 +08:00
    @v2tudnew 这么基础的功能开发者居然嫌麻烦... 用户现在才是真的麻烦
    x1aoYao
        14
    x1aoYao  
    OP
       2021-12-13 09:40:34 +08:00
    @xiaopc @ly841000 我把计划任务设置成用我的账号启动,结果 GUI 只有在我账号登录下才看得到。。。
    x1aoYao
        15
    x1aoYao  
    OP
       2021-12-13 09:43:38 +08:00
    @Greatshu runas 必须要有实际账号密码才行吧,而且我禁了 Administrator 登录...
    xiaopc
        16
    xiaopc  
       2021-12-13 10:36:07 +08:00
    @x1aoYao 试了一下没问题。
    以前用 C# 写的小工具 github com/xiaopc/SessionTransfer ,build 以后用计划任务运行 SessionTransfer.exe ,参数是要运行的程序全路径,后面可以再跟其他参数。在任务管理器显示的用户是计划任务里指定的用户,但是有管理员权限。
    编译好的版本就不发了,因为发现代码有点 bug ,一是如果要运行的程序没有参数会被添加一个空参数,二是缺了设置起始目录的选项。
    ly841000
        17
    ly841000  
       2021-12-13 13:24:47 +08:00
    @x1aoYao 你需要这个 github KamenRiderKuuga/ProcessGuard
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2633 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 10:07 · PVG 18:07 · LAX 02:07 · JFK 05:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.