【问题标题】:Admin elevation from program that runs over network通过网络运行的程序的管理员提升
【发布时间】:2013-07-07 01:28:16
【问题描述】:

我的应用程序的一小部分需要管理员权限(激活软件需要到 HKLM)。为此,我在需要管理员权限的按钮上绘制盾牌图标,单击时,我使用“runas”动词再次使用适当的参数重新启动应用程序。

这很好用!但是,现在碰巧用户从网络共享执行应用程序。如果他们现在点击“管理员权限按钮”,他们会收到一条错误消息,因为网络驱动器没有为管理员映射,因此找不到可执行文件:-(

解决这个问题的最佳方法是什么?

【问题讨论】:

    标签: windows uac windows-security


    【解决方案1】:

    每个登录会话都会存储映射的驱动器,因此提升后您就没有它们了。

    您可以将管理界面提取到另一个可执行文件中,并在清单中将其标记为 requireAdministrator。然后通过 ShellExecute 启动 admin 可执行文件。 Windows Explorer will copy the drive mapping in this case(虽然是未记录的行为)。

    【讨论】:

    • 另一种选择是停止使用映射驱动器。请改用完整的 UNC 路径。映射驱动器仅在 DOS 3.3 添加网络支持时作为兼容性黑客而存在,并且应用程序会阻塞以 [letter]: 开头的文件名
    猜你喜欢
    • 2023-04-03
    • 1970-01-01
    • 2015-07-20
    • 2012-04-28
    • 2014-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多