转载:https://blog.51cto.com/linuxprince/1968552
-
问题起因
最近遇到一个比较棘手问题,顺丰速运修改了快递单填写方式,必须要安装他们公司开发的一个软件(软件名叫“速打线下用户专用版”),这个软件非常奇葩,只要是普通用户运行该软件,就弹出“用户帐户控制”的对话框要求输入管理员密码,要么就把用户帐户加入管理员组才能正常运行,作为一家比较有规模的企业,怎么可能随便开放管理员权限啊!这样做将会有无尽麻烦(如果你是管理员,你懂的)。但我们公司有大量快件用顺丰寄,不用不行,于是马上向当地的顺丰分部提出绝对不能开放管理员权限,必须给解决方案。顺丰方面还是挺重视的,马上派人过来处理(我们是大客户嘛),但可惜派人过来搞了半天也没有搞定,又给了我广州的技术客服联系方式叫我直接找客服,我也是马上联系客服,可是还是搞了半天没有找到方法,于是他说要找总部询问。又过了一天,没有回复,于是我再联系广州的技术客服,他告诉我总部说是权限问题,叫我修改一下权限,最蛋痛的是也没有告诉我需要修改什么权限(软件是你们公司开发的,需要访问系统哪些文件或注册表键值你们应该最清楚啊)
很明显,顺丰开发这个软件没有考虑全面,也没有测试清楚,我公司平时工作用的超过20个软件也没有出现这种问题。询问了一些同行,他们也有类似的问题(同行使用的其他软件也有类似情况,例如QQ,以普通用户登录时,经常会弹出“用户帐户控制”对话框)。
关键时候还是需要自己详细测试找出解决方法,做好折腾准备吧!!!!运维伙伴们。
-
解决过程和有效方法
以普通用户身份登录运行软件立刻弹出如下对话框:(我使用的电脑“xruan”是管理员组的成员)
第1步:看到这个对话框,第1反应是把“用户帐户控制设置”的通知级别降低
于是进入“控制面板à用户帐户和家庭安全à用户帐户à更改用户帐户控制设置”,设置成始终不通知,然后重新启动电脑。结果,然并卵,普通用户运行还是会弹出“用户帐户控制”对话框,此方法不可行。
第2步:尝试修改程序兼容方式以管理员身份运行此程序
右键点击软件图标à“属性”à“兼容性”勾选“以管理员身份运行此程序”,然后点击按钮“更改所有用户的设置”勾选“以管理员身份运行此程序”,如下图所示:
wKioL1nItlCzEeoCAANEMTe_0MQ561.jpgwKiom1nItozS7QBiAALTPt60GiM214.jpg
此方法同样无效。悲催呀!
第3步:联想到Windows下也有一个类似Linux下使用sudo命令为用户临时提升权限运行某些需要特别权限的程序(名字叫sudowin)。
经过一轮折腾,sudowin这个软件貌似不能运行图形界面的程序,于是该方法也宣告失败。
难道真的要开放管理员权限吗?不行,这底线不能破,不然会产生更多问题。
第4步:查看组策略相应的安全选项,这可能是最后可行的方法啊
右键点击左下角“Win”图标(我使用的系统是Windows 8.1 64位版),点击“运行”,输入“gpedit.msc”à按“确定”,打开“本地组策略编辑器”,然后“计算机配置”à“Windows 设置”à“安全设置”à“本地策略”à“安全选项”à“用户帐户控制:以管理员批准模式运行所有管理员”如下图所示:
此选项默认是开启的,用户帐户控制设置的窗口貌似就是由这个选项控制的。果断修改为禁用,此选项需要重新启动电脑生效。
重启后以普通用户身份登录,运行“速打线下用户专用版””,哗噻,成功打开了软件,没有提示需要输入管理员密码。如下图所示:
wKiom1nIyxbAMYQuAAPHZA4qGRk946.jpg
余下的操作按照顺丰客服的软件操作说明做就可以了,我这里不详述了。然后在公司其他Windows 7 32位和64位的系统上测试,使用以上方法全部可行。Windows XP系统没有这个问题,直接安装就可以以普通用户身份使用软件。提示:本文是以非域环境进行测试的,如果是在域环境下,可以在域服务器端打开需要运行软件的计算机所在的“组织单位”的组策略GPO进行修改,修改方法跟本地组策略修改方法类似。
小结:
-
通过系统弹出的提示一步一步寻找问题突破口,要有毅力,不要怕麻烦,修改前后都要记录好修改前后的设置值,方便修改错了还原设置(这点很重要)
-
Windows系统方便易用,但正因为这样,系统对用户隐藏了很多工作原理,当问题出现时往往难以确定导致问题的原因。
-
作为系统管理员,无论是Linux的还是Windows的,部署系统时都必须以最少权限为原则,这样才能最大程度保障业务系统稳定运行。
-
上述的设置必须进一步明确其控制的范围和可能会产生的影响。
5.本文的方法是完全关闭了UAC功能,确实解决了烦人的UAC提示,但同时也降低了系统安全级别,所以必须采取其它措施来补救因为关闭UAC带来的安全隐患。