我曾被要求研究一下我们的远程笔记本电脑用户的解决scheme,他们正试图在客户现场使用Powerpoint和Excel进行演示。 我们正在运行Server 2008 / Win 7环境。 我们有一个组策略,在5分钟不活动的情况下locking每个人的PC,并需要密码才能重新login。我被问及是否可以在笔记本电脑上的用户在login时更改此设置,但不在本地域中。 他们希望能够调整它,以便在PP,Word或Excel中进行演示时屏幕不会locking。 据我所知,在全屏模式下屏幕保护程序,但我不知道如何实现与其他程序。 我试着在笔记本电脑上看演示模式,但是由于组策略,“禁用屏幕保护程序”的设置是灰色的。 有任何想法吗? 谢谢。
我已经能够向我自己presentationsettings我最初build议的presentationsettings工具“尊重”组策略设置,防止用户更改其屏幕保护程序。 我没有意识到这种行为,但它确实是有道理的,因为用户只要使用这个工具来免除屏幕保护程序,当没有什么演示相关的事情发生。
由于@ HopelessN00b提到您可能需要更改组策略,因为它适用于“远程”笔记本电脑。 您将需要调用环回策略处理,因为屏幕保护程序设置是每个用户而不是每台计算机。 环回策略处理允许您将用户设置应用到计算机,而不pipelogin用户如何。
不幸的是,这个function让很多人感到困惑。 它有几个不同的“模式”(合并与replace),使它更混乱。 对于您的应用程序,您可以创build一个GPO到hyoptical“远程笔记本Comptuers”OU的链接,在其“计算机configuration”部分的“合并”模式下启用环回策略处理,并在其“用户configuration”部分设置屏幕保护程序属性到任何你想要的。 当接下来这些机器重新启动(因为从非环回切换到环回需要重启 – 后台策略刷新将不会启用它),你会看到机器开始从这个新的GPO拿起屏幕保护程序设置。
写一些黑客客户端服务程序到达用户的registry,并切换组策略屏幕保护程序的限制值(因为用户不能自己做,因为registry权限)的短缺,我认为你卡在一个在这种情况下,您将不得不select较less的恶意,并禁用笔记本电脑用户的屏幕保护程序限制,使用某些第三方“鼠标跳跃者”或键盘模拟软件,或只是告诉用户与它。
编辑:
有许多第三方程序可以做你正在寻找的东西,但是只有内置的操作系统组件才有一定的“优雅”。
这里有一个小小的VBScript程序,适合wscript.exe执行(这意味着你可以直接将这个w /组策略首选项部署到计算机的“启动”文件夹中),假设你的域的DNS名称无法从您的networking外部解决。 (如果能够从外部得到解决,坦白说,你得到了你应得的。)
该脚本位于轮询循环中,使用nslookup来parsing在USERDNSDOMAIN环境variables中命名的域。 它每10秒轮询一次,但可以通过修改Const POLL_DELAY行来修改。 (再次执行自身的奇怪回转是必要的,因为如果只用wscript.exe执行,每个轮询间隔将会短暂地出现一个窗口 – 这不是一件好事。)
当域名不parsing时,“F15”键被“按下”,造成足够的活动,Windows将不会激活屏保。
此脚本已在Windows 8.1 x64上进行了testing,该域用户具有适用于他们的组策略对象,其中包括pipe理模板设置:
scrnsave.scr 我的testing方法如下:
ss.vbs的程序放入计算机的“启动”文件夹中 在Windows 8.1 x64机器上,脚本正在做我想要的。
Option Explicit ' Delay, in seconds, between attempts to resolve the domain name ' and pressing the "F15" key. Const POLL_DELAY = 10 Dim objShell Set objShell = WScript.CreateObject("WScript.Shell") Dim objExec Dim intFound If UCase(Right(WScript.Fullname, 11)) = "WSCRIPT.EXE" Then While 1 intFound = objShell.Run("cscript.exe """ & WScript.ScriptFullName & """", 0, True) If intFound = 255 Then objShell.SendKeys("{F15}") WScript.Sleep(POLL_DELAY * 1000) Wend Else Set objExec = objShell.Exec("nslookup " & objShell.ExpandEnvironmentStrings("%USERDNSDOMAIN%")) While Not objExec.StdOut.AtEndOfStream If Left(objExec.StdOut.ReadLine, 5) = "Name:" Then WScript.Quit(0) Wend WScript.Quit(255) End If
处理这种情况的典型方式是为用户或机器定义为“远程”工作人员的一套单独的策略。 例如,我们有一个名为“ Remote Laptop Users的OU,正是由于这个原因,这些用户可以更好地控制显示器和电源设置。 (如果您不想或不能更改这些对象所在的OU,也可以使用WMI筛选或安全筛选来获得相同的结果。
如果你可以让你的用户使用Evan Andersonbuild议的演示设置工具,那真是太好了,但是我的经验是,抱怨这类事情的用户也是那些不愿意解决问题的人,并期望IT为他们修复它,所以你可能最终不得不为他们修复,用不同的GPO。