设为首页收藏本站language 语言切换
查看: 3273|回复: 12
收起左侧

VM虚拟桌面空闲自动注销的解决办法

[复制链接]
发表于 2014-4-9 13:26:10 | 显示全部楼层 |阅读模式
本帖最后由 silentfox 于 5-26-2012 13:46 编辑
单位最近开始使用VM的桌面虚拟化,但由于资金问题,近200人的单位只采购了40个并发连接。所以放在面前的问题是如何保障这40个并发连接的有效利用,让虚拟桌面用户在空闲时自动注销,贡献出资源来。在使用http://myvirtualcloud.net/?p=872这个内容时,发现该idle monitor程序无法提供对键盘的检测,而且无法正常运行在我们这里的虚拟环境;所以自己变通想出了一个比较完美的办法。
先讲讲原理,大家都知道WINDOWS系列操作系统都自带屏幕保护功能,同样屏幕保护的工作机制就是检测键鼠,如在特定时间无操作那么就会执行屏幕保护,也就是SCR文件。那么只要SCR文件可以执行注销、关机命令即可实现其空闲自动注销功能。(PS:自己试过将LOGOFF.EXE复制成logoff.scr,但我们这里环境不能正常运行。当然shutdown.exe也试过)百度一下,发现Windows Server 2003 Resource Kit Tools,里面有一个winexit.scr文件,可以实现自动注销功能。
下面具体说说步骤
1、下载Windows Server 2003 Resource Kit Tools,下载地址:http://download.microsoft.com/do ... 25fe057/rktools.exe
2、安装该工具,找到该工具所在目录并找到winexit.scr文件。
3、在准备克隆的源虚拟机中,复制winexit.scr到%systemroot%/system32/下。
4、在克隆的源虚拟机中,运行regedit命令,找到HKEY_Local_Machine\Software\Microsoft\Windows NT\CurrentVersion\IniFileMappings\Control.ini ; 对其设置权限,将Everyone组加入,并勾选完全控制。(这一步很重要,因为在域环境下,域用户的权限有限,所以必须将权限最大化。否则根本不能正常执行)
5、现在到域控服务中,配置组策略中的“用户配置>策略>管理模版>控制面板>个性化”可以找到有屏幕保护关选项。
6、将“启用屏幕保护程序”选择启用;在到“强制使用特定的屏幕保护程序”中选择“已启用”,并在选项中加入刚才winexit.scr绝对路径,这里是”c:\windows\system32\winexit.scr“  ;最后虚拟机的空闲注销时间可以通过“屏幕保护程序超时”来设置。
7、gpupdate /force
剩下工作也就是composer,然后使用咯。have fun!!!
另外留下一个问题大家帮忙看看。
起初自己想到的是用shutdown -t 3600来执行定时注销,但在组策略中的“用户配置>策略>管理模版>系统>登录”里有“在用户登录时运行这些程序”中添加了shutdown -t 3600,可是执行后虚拟桌面的结果直接注销,参数不对?百思不得其解呀。
附图一张,关于屏幕保护的组策略配置位置。
发表于 2014-4-9 13:27:02 | 显示全部楼层
虚拟化桌面我部署的比较少,来学习学习
沙发 2014-4-9 13:27:02 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2014-4-9 13:27:47 | 显示全部楼层
view里面就有一个定义的
板凳 2014-4-9 13:27:47 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2014-4-9 13:28:42 | 显示全部楼层
View里面可以设置一直开着、过多久关闭、过多久待机、......。
地板 2014-4-9 13:28:42 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2014-4-9 13:29:13 | 显示全部楼层
能研究出这个还真不容易!
5# 2014-4-9 13:29:13 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2014-4-9 13:29:45 | 显示全部楼层
shutdown /l /t 3600 /c "logoff"
试试看。
6# 2014-4-9 13:29:45 回复 收起回复
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-9 13:30:24 | 显示全部楼层

你说的是特定时间中对虚拟机的操作,不太符合实际吧。试想看,如果用户工作时间很长,定时注销或关机是不是不合理呢?如果特定时间设置过长,那么某些用户又存在资源浪费的问题。但通过键鼠监测机制一定程度上可以了解用户的使用行为,从而进行判断是否应该注销。
7# 2014-4-9 13:30:24 回复 收起回复
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-9 13:31:10 | 显示全部楼层

你说的是在global settings中Session timeout吗?如果是那么还是特定时间执行注销命令,而不是根据使用情况进行监控。
8# 2014-4-9 13:31:10 回复 收起回复
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-9 13:31:42 | 显示全部楼层

不行,还是直接注销。
9# 2014-4-9 13:31:42 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2014-4-9 13:32:29 | 显示全部楼层

上面选择电源策略,下面可以设置时间。
10# 2014-4-9 13:32:29 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2014-4-9 13:33:12 | 显示全部楼层

shutdown -r -f -m \\127.0.0.1 -t 3600 -c "logoff"
我在本地执行的话,会接收到注销提示。
11# 2014-4-9 13:33:12 回复 收起回复
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-9 13:34:11 | 显示全部楼层
看到是断开连接后,如果用户习惯性一直挂着VIEW Cilent,不断开怎么办?
12# 2014-4-9 13:34:11 回复 收起回复
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-9 13:35:07 | 显示全部楼层

shutdown的定时重启和关机都是可以的,唯独就是注销无法实现。
13# 2014-4-9 13:35:07 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-3-9 22:29 , Processed in 0.070219 second(s), 21 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表