使用计算机的用户通过Active Directory域登录Windows 7 Professional系统,并且没有管理权限。
我是管理员,可以授予他权利,但出于显而易见的原因,我不想这样做。
用户需要使用一个需要本地管理权限的特殊应用程序(监控仪表板)。
因此,我需要用户能够在提升权限模式下运行此(且仅此)特定应用程序,而无需知道密码(我不介意输入并保存此快捷方式的密码,但我找不到这样的选项)。和/或(理想情况下两者兼而有之)应用程序在用户登录后启动(提升)。
我知道无论如何这都会造成安全漏洞,但几乎别无选择。
我尝试过用多种不同的方式调整快捷方式属性,但没有成功——它仍然要求提供管理员凭据。
我也尝试过使用任务计划程序,但我得到的最好结果是应用程序以不可见的方式运行,没有显示任何 GUI(在所有其他设置中,任务都无法启动)。
有什么建议么?
答案1
问题:你试图像一个负责任的管理员一样运行这些计算机,不给用户管理员权限,而一些糟糕的公司编写了一些需要管理员权限才能运行的糟糕应用程序
解决方案:垫片!使用 Microsoft 应用程序兼容性工具包
在计算机编程中,垫片(来自垫片)或 shiv 是一个小型库,它透明地拦截 API 并更改传递的参数、处理操作本身或将操作重定向到其他地方。它们修复了仍依赖旧功能的旧应用程序的兼容性问题。在这种情况下,较旧的 API 仍可通过新代码之上的薄兼容层得到支持。垫片用于在不同于其开发目的的软件平台上运行程序。(来源:维基百科)
IE 是为 XP 编写的程序,并坚持以管理员身份运行。查看应用程序的填充程序。这就像 IT 界的绝地武士技巧。填充程序将允许您欺骗程序,使其认为它具有管理员权限。很可能它真正需要的只是读取/写入 c:\program files\crappy company\crappy app 或一个注册表项。
http://technet.microsoft.com/en-us/library/dd837644(v=ws.10).aspx
答案2
您可以安排任务来监控日志活动(查看 EventLog 中成功登录的安全 ID),并将应用程序作为任务启动,并将运行任务更改为管理员帐户。这会要求您输入一次密码,然后它会保存。
答案3
使用以下命令在非管理员帐户上创建快捷方式,cmd.exe /c "runas /savecred /user:<admin> "<file<args>>""
其中 是管理员帐户,<file<args>> 是要运行的文件(及其命令)。运行快捷方式一次并输入管理员密码。下次运行时,不需要密码。(如果要在用户登录时运行,请将快捷方式放在文件夹中shell:startup
,然后运行一次。)
我知道这个答案是仅有的晚了 10 年,所以对于任何感兴趣的新观众来说;)