大家都知道,屏保和注销完全是两个不同的概念,注销需要停止当前打开的应用程序,而屏保则不然。在组策略里,提供了屏保的相关设置项,却没有策略设置能够实现让计算机空闲一段时间后就自动注销。幸好微软对我们还不薄,为我们准备了Winexit.scr。Winexit.scr是什么呢?聪明的你从字面上就应该可以看出来,它是一个屏保文件。也许现在你要说,不是我说过屏保不能实现让计算机空闲一段时间后就立即注销吗,为什么又拿出一个屏保文件说事呢?其实,这个文件不是一个普通的屏保文件,我们可以把它理解为能自动注销计算机的脚本,只是把它写成了屏保形式。这个工具在2000和2003的Resource Kit里面提供了,为了方便大家,我在附件里面提供了。
不过这个工具有个让人懊恼的地方,就是普通用户无法启用这个特殊屏保程序,必须要有管理员权限。这对员工只有普通域用户权限的企业来说,根本就不实际。
经过查阅资料得知,原来要想这个程序成功运行,必须得有以下注册表键值的写权限:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\control.ini。找到问题所在以后,我们就可以使用组策略来修改注册键值的权限。
在正式操作前,我想向大家介绍一下整个思路:
1.通过组策略修改注册表键值的权限,让普通域用户也可以往该键值写数据;
2.设置Winexit.scr文件,已满足公司安全策略的要求,例如注销倒计时间以及注销提示信息等;
3.通过开机脚本,将该屏保文件分发到客户端机器的system32目录;
4.再次通过组策略进行屏保的相关项设置;
5.检查客户端的应用情况,验证操作。
以下就是我按照整个思路进行的实际操作:
1.对目标OU建立一条策略,编辑策略修改注册表权限。文字说明就不必了,请看图1-4进行操作。
2.找到Winexit.scr这个文件,右键点击“配置”,如图5,同时按照如图6进行设置好。记得一定要勾选中“Force application termination”,否则即使应用了也不会注销。
3.最终我们需要将这个文件复制到客户端的system32目录,所以这里我们利用强大的VBS脚本就能轻松帮我们搞定。
1).将以下内容保存为VBS脚本。
Option Explicit
Dim objFSO, wshShell
Dim fileSrc, dest
Set objFSO = Wscript.CreateObject("Scripting.FileSystemObject")
Set wshShell = Wscript.CreateObject("WScript.Shell")
fileSrc="\\192.168.1.44\share\winexit.scr"
dest = "c:\windows\system32\"
objFSO.CopyFile fileSrc, dest, true
(注:请将fileSrc="\\192.168.1.44\share\winexit.scr"这一行所引用的该文件的路径替换为实际路径,同时请注意该文件所在的文件夹NFTS和共享权限是否设置都合理,不要权限设置错误)
本文来源:不详 作者:佚名