我们有一个组策略,强制工作站在 X 分钟后锁定。但有时我想暂停 GPO 的法律。我已经有一个很小的 Auto-It 脚本,每两分钟点击一次控制键,并查看了需要进行的注册表更改,以以对用户不太干扰的方式防止锁定。没有时间花在这些努力上,我想问问精彩的 serverfault 社区,有人遇到过可以防止工作站锁定的(最好是开源的)实用程序吗?
谢谢
答案1
下面的 REG 文件禁用了屏幕保护程序。包括默认的 Windows 屏幕保护程序,该程序始终锁定屏幕,并在用户的屏幕保护程序设置为“无”时启用。
为了击败 Active Directory,必须在每次 AD 刷新时以及下一个屏幕保护程序超时之前进行这些设置。
事实证明,我只是在与默认屏幕保护程序作斗争,只需要删除 SCRNSAVE 键,所以我没有寻求一个好的方法来不断进行这些更改。
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Control Panel\Desktop]
"ScreenSaveActive"="0"
"ScreenSaverIsSecure"="0"
"SCRNSAVE.EXE"=-
答案2
GPO 的存在正是为了这个目的:执行域计算机上的配置设置。如果可以避免,这些设置将毫无用处。
如果您无法修改策略和/或其他各种域参数(您登录时使用的用户帐户的 OU 等),那么除了移动鼠标或敲击键盘外,您什么也做不了。您唯一的选择是使用本地用户帐户登录工作站,而域的用户策略(包括屏幕保护程序策略)不适用于该帐户。
答案3
我借此机会对 Nathan Hartley 的出色回答进行了一些扩展,编写了一个 Powershell 脚本,该脚本每 10 秒清除一次 ScreenSaveActive 设置。只需一行代码就可以完成,但显然我不得不将其复杂化,并为等待时间等设置漂亮的进度条(真是创意十足!)。
$IntervalSeconds = 10
$IntervalMilli = $IntervalSeconds * 1000
$counter = 0
$LastWrite = ''
$StartTime = get-date
$FudgeMilli = 20
while ($true) {
$counter++
$LastWrite = Get-Date -uformat '%T'
Set-ItemProperty -path 'HKCU:\Control Panel\Desktop' -Name 'ScreenSaveActive' -Value 0
Write-Progress -id 0 -Activity "No Screen is Safe" -PercentComplete $($Counter % 100) -Status "Last Write: $($LastWrite) Write Count: $($Counter) Elapsed: $($($(get-date) - $StartTime).ToString())"
for($i = 1; $i -le 100; $i++) {
[INT] $MilliSecondsLeft = $(($IntervalMilli - ($i * $intervalMilli/100)))
[INT] $SecondsLeft = ($MilliSecondsLeft * .001)
$PercentComplete = (($i * $intervalMilli/100)/$IntervalMilli) * 100
Write-Progress -id 1 -ParentId 0 -Activity "Lying in wait for $($IntervalSeconds) Seconds" -status 'ZZZzzzz...' -PercentComplete $PercentComplete -SecondsRemaining $SecondsLeft
Write-Progress -id 0 -Activity "No Screen is Safe" -PercentComplete $($Counter % 100) -Status "Last Write: $($LastWrite) Write Count: $($Counter) Elapsed: $($($(get-date) - $StartTime).ToString())"
start-sleep -Milliseconds $($($IntervalMilli / 100) - $FudgeMilli)
}
Write-Progress -id 1 -ParentId 0 -Activity "Lying in wait for $($IntervalSeconds) Seconds" -status 'Snerkt!' -PercentComplete 100 -Completed
}
它并没有精确计算秒数(这就是为什么内置了 Fudge Factor 来调整间隔时间更接近实际的原因),而且我也没有花费大量时间来优化每一个细节。
希望有人以后能发现这一点有用。
答案4
假设您让用户选择他们可以使用哪个屏幕保护程序,您可以暂时选择“无”作为屏幕保护程序,并且工作站将不会锁定。