问题现象
使用nextcloud、owncloud等私有化部署的NAS时,难免要做webdav在windows的挂载。在新机挂载/映射网络驱动器过程中,遇到win11 / win10报错0x80070043找不到网络名
解决办法
(以管理员身份运行)WebClient.cmd更改注册表参数,允许http形式挂载,文件内容如下:
@echo off
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters /v BasicAuthLevel /t REG_DWORD /d 2 /f
sc stop webClient
sc start webClient
也可以直接修改注册表:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
然后在cmd控制台中运行命令,来重启webclient服务
net stop webclient
net start webclient
闲着没事,也提供一个用于快速重启webclient的bat文件:
@echo off
%1 mshta vbscript:CreateObject(“Shell.Application”).ShellExecute(“cmd.exe”,”/c %~s0 ::”,””,”runas”,1)(window.close)&&exit
cd /d “%~dp0”
net stop WebClient
net start WebClient
exit
解释
windows11出于安全性考虑,默认禁止http方式挂载webdav方式网络驱动器,通过讲注册表参数改为2的方式,允许该种方式挂载。
根据微软官方文档,BasicAuthLevel 的值分为以下三个:
0 – 禁用基本身份验证
1 – 仅对 SSL 连接启用基本身份验证
2 – 为 SSL 和非 SSL 连接启用基本身份验证