“在外地的Windows系统上远程控制家里的电脑时,系统提示远程桌面需要网络级别身份验证,我已经花了几个小时研究这个,但依然没有解决,我想听听有同样问题的人的意见,任何帮助都将不胜感激,谢谢!”
Win10远程桌面需要网络级别身份验证4种解决方法
遇到远程计算机需要网络级别身份验证,用户可以通过在远程计算机上禁用NLA来解决此问题。因此,在这里我们整理出了4种方法来实现这一点。
方法1. 使用属性禁用NLA
系统提示远程电脑需要网络层级验证,我们可以进入系统属性禁用NLA,以解决远程桌面需要网络级别身份验证的问题。
1. 按“Win + R”调出运行对话框,然后输入“sysdm.cpl”并点击“确定”,打开系统属性。
2. 切换到“远程”选项卡,然后取消选中“仅允许运行使用网络级别身份验证的远程桌面的计算机连接”,再单击“确定”。
方法2. 使用注册表禁用NLA
我们也可以在注册表编辑器中禁用NLA,以解决Windows远程桌面需要网络级别身份验证的问题。
1. 按“Win + R”键,然后输入“regedit”,打开注册表编辑器。
2. 跳转到:HKEYLOCALMACHINE > SYSTEM > ControlSet001 > Control > Terminal Server > WinStations > RDP-Tcp,并在右侧窗格中,找到“SecurityLayer”和“UserAuthentication”。
3. 首先双击“SecurityLayer”并将其值设置为“0”,然后对“UserAuthentication”重复相同的步骤。
方法3. 使用组策略编辑器禁用NLA
远程计算机需要网络级别身份验证时,我们可以在组策略编辑器中禁用NLA,以解决问题。
1. 按“Win + R”键,然后输入“gpedit.msc”以打开本地组策略编辑器。
2. 跳转到:计算机配置 > 管理模板 > Windows 组件 > 远程桌面服务 > 远程桌面会话主机 > 安全。在右侧窗格中,找到并双击“要求使用网络级别的身份验证对远程连接的用户进行身份验证”。
3. 然后将其设置为“已禁用”,再单击“确定”。
方法4. 使用PowerShell禁用NLA
用户还可以通过本地计算机上的PowerShell在远程计算机上禁用NLA。
1. 按“Windows + S”键,然后输入“PowerShell”,右键单击选择“以管理员身份运行”。
2. 在 PowerShell 中,执行以下命令:
- $TargetMachine = “Target-Machine-Name”
- (Get-WmiObject -class “Win32TSGeneralSetting” -Namespace rootcimv2terminalservices -ComputerName$TargetMachine -Filter “TerminalName=’RDP-tcp'”).SetUserAuthenticationRequired(0)
这里的“Target-Machine-Name”是远程计算机的名称。例如,如果远程计算机名称是“admin”。
- "跳转到:"应改为"导航至","跳转"一般不用于描述在软件中的操作。
- "HKEYLOCALMACHINE"中的"LOCAL"应为小写的"local"。
- "ControlSet001"应为"ControlSet01",通常表示为"ControlSet001"是错误的表述。
- "WinStations"应为"WinStation"。
- "RDP-Tcp"应为"RDP-TCP"。
- "双击“SecurityLayer”并将其值设置为“0”,然后对“UserAuthentication”重复相同的步骤"中"重复相同的步骤"表述冗余,可简化。
- "要求使用网络级别的身份验证对远程连接的用户进行身份验证"中"网络级别的身份验证"应改为"网络级别身份验证",避免使用"的"字。
- "Target-Machine-Name"应改为"targetMachineName",符合编程变量命名习惯。
- "Get-WmiObject -class “Win32TSGeneralSetting” -Namespace rootcimv2terminalservices"中"rootcimv2terminalservices"应为"rootcimv2terminalservices",使用反斜杠表示法。
- 命令行中"ComputerName$TargetMachine"缺少空格,应为"ComputerName $TargetMachine"。