Windows挂载WebDAV二三事

首先WebDAV是个挺不错的协议,建立在HTTP之上,也提供了很多很完善功能,同时Windows也提供了原生支持。然而这个支持,槽点太多了。

找不到网络名?

首先第一步,使用文件资源管理器添加网络位置也好,还是在命令行用net use命令挂载也好,都会报一个很神秘的错误:

发生系统错误 67。

找不到网络名。

并不是中文翻译的问题,它英文就是这个意思

乍一看,难道是域名解析的问题,但问题是即使在URL中使用IP地址,也是会报这个错误的。这个时候需要参考官方文档中的troubleshoot(详见这里)。看,这个67错误,虽然叫找不到网络名,但没说为什么找不到网络名嘛,WebDAV客户端服务没开启,这不是也会造成找不到网络名嘛(文档中第3条)

Solution:在服务中打开WebClient服务即可,值得一提的是这个服务默认为手动触发,可能挂载的姿势不对,没能手动触发?

局域网里的WebDAV没开HTTPS不能挂载

是的,默认情况下使用Basic Auth并使用HTTP在公网上传输数据是令人难以想象的。然而,微软恐怕觉得用户会在局域网里使用WebDAV也是appalling的。也是呀,为什么不用SMB呢(灵魂拷问)?当然我们在局域网内用WebDAV通常是因为我们在局域网部署了之后,也会内网穿透到公网提供服务,这可是现代混合云发展理念(哈哈,微软你没想到吧)

Solution:打开注册表编辑器,定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters,修改键BasicAuthLevel值为2,即同时允许HTTP与HTTPS。

只能听音乐不能看视频?

那是因为通常音乐文件小于50MB,而视频文件普遍大于50MB。要问这个50MB限制是哪来的,上面说的,打开的注册表编辑器不要关,看一下键FileSizeLimitInBytes的值,是不是5后面跟了好几个0?只要把这个值调高一点,就可以了。

Solution: 打开注册表编辑器,定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters,修改键FileSizeLimitInBytes值为适当大小。

BTW: 你可能会注意到这个键是一个32位的DWORD,这意味着最大也就2的32次方字节,或者说是4.29GB(梦回FAT32)。把DWORD改成QWORD企图扩展到64位的尝试,也失败了。因此想看蓝光原盘的,得换个想法了。

留下评论