You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过PowerShell命令/脚本在组策略中禁用屏幕保护程序密码保护?

解决PowerShell修改屏保密码保护无效及方法调用报错问题

直接改HKCU注册表为啥没用?

组策略的配置优先级高于用户个人注册表(HKCU),哪怕你把HKCU:\Control Panel\Desktop下的ScreenSaveUsePassword改成0,组策略会强制覆盖这个设置,所以根本不生效。要搞定得改组策略对应的注册表项,或者直接用组策略命令配置。

正确操作方法

1. 修改组策略专属注册表项(需要管理员权限)

组策略里的屏保密码保护设置存在HKLM\Software\Policies\Microsoft\Windows\Control Panel\Desktop路径下,执行以下命令:

# 先创建路径(不存在就新建)
New-Item -Path "HKLM:\Software\Policies\Microsoft\Windows\Control Panel\Desktop" -Force
# 禁用屏保密码保护
Set-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Windows\Control Panel\Desktop" -Name ScreenSaveUsePassword -Value 0

弄完之后要么重启电脑,要么强制刷新组策略:

gpupdate /force

2. 修复Set-OnResumeDisplayLogon调用报错

之前执行Set-OnResumeDisplayLogon(0)报错,是因为没拿到正确的WMI对象。正确步骤是先获取对应的WMI实例,再调用方法:

# 如果是远程桌面环境,用这个获取实例
$scrSaver = Get-WmiObject -Namespace root\cimv2\terminalservices -Class Win32_TSGeneralSetting -Filter "TerminalName='RDP-tcp'"

# 如果是本地桌面,换成这条命令
# $scrSaver = Get-WmiObject -Namespace root\cimv2 -Class Win32_Desktop

# 调用方法禁用恢复时登录
$scrSaver.SetOnResumeDisplayLogon(0)

注意:本地桌面和远程桌面的WMI命名空间、类不一样,选错了就会拿到空对象,报你遇到的那个错。

怎么确认生效了?

  • 打开组策略编辑器(输入gpedit.msc),找到用户配置>管理模板>控制面板>个性化,看看“屏幕保护程序恢复时显示登录屏幕”是不是改成“已禁用”了
  • 查一下HKLM:\Software\Policies\Microsoft\Windows\Control Panel\Desktop下的ScreenSaveUsePassword值是不是0

内容的提问来源于stack exchange,提问作者DMUN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 18:44:54