我有一个需要以管理员身份运行的旧版 Windows 95 应用程序。学校域中的学生使用该应用程序。
我的前任为此设置了一个域管理员帐户和一个“以...身份运行”批处理脚本来启动该程序,但这仍然需要老师输入密码。我希望学生能够以更简单的方式启动该应用程序,而无需为他们提供更高的本地权限或域管理员帐户的密码。
做到这一点的最好方法是什么?
答案1
我希望您的意思是您是本地计算机管理员组中的组内的用户,并且您没有给出属于域管理员成员的帐户。该帐户绝对没有理由需要成为域管理员组的成员。如果您已将属于域管理员成员的帐户提供给教师,我强烈建议您尽快更改此情况。您应该在域中创建另一个组,并使该组成为计算机上的本地管理员组的成员。您应该能够使用 GPO 应用的启动脚本将您创建的组添加到本地管理员组。
无论如何,回到解决程序问题上。您可能需要做的是弄清楚应用程序正在做什么,需要管理访问权限,然后修改文件系统和注册表的权限,以便学生拥有这些权限。
这系统内部工具 filemon 和 regmon 对于解决这个问题非常有用。
如果您还没有,请尝试在 Google 上搜索有关该特定程序的信息,也许其他人已经解决了该问题并修复了它。
答案2
我通常首先找到软件使用的 HKLM 键 - 希望是合理的 - 然后使用 regedt32(注意常规 regedit 不起作用)授予他们的组对该注册表项的完全控制权。然后我会给他们安装目录的完全控制权。99% 的时间,这可以解决需要本地管理员的问题。通常,如果此时不起作用,我会开始游说升级应用程序,有时有效,有时无效。如果您真的很幸运,而且它是一个常用程序,那么搜索谷歌会为您提供需要授予以非管理员身份运行权限的确切位置。
答案3
如果使用活动目录
导航到 C:\program files\the win 95 app 文件夹。在“安全”选项卡(属性)上授予“域用户”读写访问权限。我通常避免使用“完全控制”。
打开 Regedit 并导航到“LOCAL MACHINE\SOFTWARE”并找到 win 95 应用程序。在权限选项卡上授予“域用户”读取和写入访问权限。同样,我也尝试避免在这里使用“完全控制”功能。
这里有一个不寻常的例子 - 然后运行应用程序一分钟,就好像您是用户之一(但以管理员身份登录)打开几个屏幕等等。然后关闭应用程序,打开 Windows 搜索。搜索您使用该应用程序期间最近修改的文件(带有时间戳)。您可能会发现一些 .ini,当时一些程序员(win 95)将其放在 windows 目录中。我转到他们的属性并授予“域用户”“完全控制”权限....不是在 Windows 目录中...只是属于应用程序的文件。
这应该能解决问题。我试过几次都成功了。
答案4
前面提到的 filemon 和 regmon 工具已合并到进程监视器中。查看http://live.sysinternals.com/对于 procmon.exe
十有八九,它只是写入 HKLM\Software\vendor 或 c:\program files\vendor,但对于复杂的情况,您将需要学习进程监视器以及如何将其过滤到您正在跟踪的特定可执行文件,并从关注写入操作而不是读取开始(否则您将有数十万个条目)。
另一个选择是使用 Thinapp (VMWare)、App-V (Microsoft) 或 SVS (Altiris/Symantec) 等产品进行应用程序虚拟化。虽然我没有深入使用过 Altiris,但我认为有一个免费的个人版本可以让您测试它并熟悉所使用的方法。Vista 也有一个虚拟注册表和文件系统,但我从未将 Vista 用于此目的。