如何在最新版Windows 10中禁用NTLMv1、LM及LMv2?无组策略需注册表方案
禁用Windows 10上的LM、LMv2和NTLMv1身份验证协议(无组策略场景)
没问题,针对没有组策略功能的Windows 10设备,咱们直接通过注册表来禁用这些老旧且不安全的身份验证协议。下面是具体的注册表项、设置值以及操作注意事项:
重要前置提醒
- 修改注册表前,请务必导出对应分支做备份,避免操作失误导致系统问题
- 必须以管理员身份运行注册表编辑器(
regedit)
一、客户端侧:禁用LM、NTLMv1,强制使用NTLMv2
导航到以下注册表路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
需要创建或修改以下DWORD(32位)值:
LmCompatibilityLevel:设置为5解释:该值会让客户端仅使用NTLMv2身份验证,直接拒绝LM和NTLMv1的响应
二、服务器侧:拒绝LM、NTLMv1请求
如果你的设备同时作为服务器(比如共享文件/打印机),需要额外配置服务器端限制:
- 导航到路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa- 创建/修改DWORD值
RestrictNTLM,设置为2
解释:拒绝所有NTLMv1身份验证请求
- 创建/修改DWORD值
- 同样在
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0路径下,确保LmCompatibilityLevel值为5,让服务器仅接受NTLMv2验证
三、彻底禁用LMv2(按需配置)
如果你的场景要求彻底禁用LMv2(虽然它比LM安全,但部分合规场景可能需要),可以添加以下设置:
- 客户端侧:在
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0下创建DWORD值NTLMMinClientSec,设置为十六进制0x20000000(十进制对应536870912) - 服务器侧:同样在该路径下创建DWORD值
NTLMMinServerSec,设置为十六进制0x20000000
解释:这两个值会强制客户端和服务器仅使用NTLMv2会话安全,同时禁用LMv2
操作步骤
- 按下
Win + R组合键,输入regedit并回车,打开注册表编辑器(记得右键选择「以管理员身份运行」) - 按照上面的路径导航到对应注册表项
- 若目标值不存在,右键点击对应项 → 「新建」→「DWORD(32位)值」,命名为指定的键名;若已存在则双击修改
- 设置对应的值后点击「确定」
- 重启设备,所有设置才会生效
如果之后遇到兼容性问题(比如老设备无法连接),可以将这些值恢复为默认:
LmCompatibilityLevel默认值为1RestrictNTLM默认值为0NTLMMinClientSec/NTLMMinServerSec默认不存在,直接删除即可
内容的提问来源于stack exchange,提问作者Demi
相关产品推荐
相关产品推荐

