一、准备工作
系统要求:Windows Server 2016/2019/2022。
管理员权限:确保以 管理员身份 运行 PowerShell 或脚本。
备份注册表(可选):修改注册表前建议备份。
二、一键脚本使用说明
步骤 1:下载并运行脚本WebDAV_Setup.ps1
#Requires -RunAsAdministrator $scriptPath = $MyInvocation.MyCommand.Path $taskName = "WebDAV_Setup_Task" # 第一阶段:安装 WebDAV 客户端并处理重启 if (-not (Test-Path "HKLM:\SYSTEM\CurrentControlSet\Services\WebClient\Parameters")) { try { $installResult = Install-WindowsFeature WebDAV-Redirector -IncludeManagementTools if ($installResult.RestartNeeded -eq "Yes") { $choice = Read-Host "安装完成,需要重启系统。立即重启?(Y/N)" if ($choice -eq "Y" -or $choice -eq "y") { # 创建计划任务用于重启后继续执行 $action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-File `"$scriptPath`"" $trigger = New-ScheduledTaskTrigger -AtLogOn $principal = New-ScheduledTaskPrincipal -UserId "NT AUTHORITY\SYSTEM" -RunLevel Highest Register-ScheduledTask -TaskName $taskName -Action $action -Trigger $trigger -Principal $principal -Force Restart-Computer -Force exit } } } catch { Write-Host "安装失败: $_" -ForegroundColor Red exit } } # 第二阶段:重启后的配置 try { # 设置服务并检查状态 Set-Service WebClient -StartupType Automatic -ErrorAction Stop Start-Service WebClient -ErrorAction Stop $service = Get-Service WebClient -ErrorAction Stop if ($service.Status -eq "Running") { Write-Host "√ WebClient 服务已成功启动" -ForegroundColor Green # 修改文件大小限制 $choice = Read-Host "是否修改文件大小限制?(Y/N)" if ($choice -eq "Y" -or $choice -eq "y") { $regPath = "HKLM:\SYSTEM\CurrentControlSet\Services\WebClient\Parameters" Set-ItemProperty -Path $regPath -Name "FileSizeLimitInBytes" -Value 0xFFFFFFFF -Type DWord -Force Write-Host "√ 文件大小限制已设为 4GB" -ForegroundColor Green } # 启用 HTTP 支持 $choice = Read-Host "是否启用 HTTP 支持?(Y/N)" if ($choice -eq "Y" -or $choice -eq "y") { $regPath = "HKLM:\SYSTEM\CurrentControlSet\Services\WebClient\Parameters" if (-not (Test-Path $regPath)) { New-Item -Path $regPath -Force } Set-ItemProperty -Path $regPath -Name "BasicAuthLevel" -Value 2 -Type DWord -Force Set-ItemProperty -Path $regPath -Name "AllowBasicAuth" -Value 1 -Type DWord -Force Write-Host "√ HTTP 支持已启用" -ForegroundColor Green # 重启服务生效 Restart-Service WebClient -Force Write-Host "√ WebClient 服务已重启" -ForegroundColor Green } } } catch { Write-Host "配置失败: $_" -ForegroundColor Red } finally { # 清理计划任务 if (Get-ScheduledTask -TaskName $taskName -ErrorAction SilentlyContinue) { Unregister-ScheduledTask -TaskName $taskName -Confirm:$false } }
2.运行脚本:
Set-ExecutionPolicy RemoteSigned -Force # 允许运行脚本 .\WebDAV_Setup.ps1
三、分步详细教程(无脚本手动操作)
步骤 1:安装 WebDAV 客户端
以管理员身份打开 PowerShell,运行:
powershell
Install-WindowsFeature WebDAV-Redirector -IncludeManagementTools
根据提示重启服务器(若需要)。
步骤 2:配置 WebClient 服务
设置服务为自动启动并启动服务:
powershell
Set-Service WebClient -StartupType Automatic
Start-Service WebClient
验证服务状态:
powershell
Get-Service WebClient # 应为 "Running"
步骤 3:修改文件大小限制
打开注册表编辑器(regedit),导航到:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
修改或创建 FileSizeLimitInBytes:
右键 > 新建 > DWORD (32-bit) Value,名称 FileSizeLimitInBytes。
值数据:FFFFFFFF(十六进制)。
步骤 4:启用 HTTP 支持
在相同注册表路径下,创建或修改以下键值:
**BasicAuthLevel**:值设为 2(十进制)。
**AllowBasicAuth**:值设为 1(十进制)。
重启服务生效:
powershell
Restart-Service WebClient
四、挂载 WebDAV 驱动器
打开 此电脑,右键空白处选择 添加一个网络位置。
输入 WebDAV 地址(如 http://your-server/path)。
输入用户名和密码(服务端需启用基本认证)。
五、故障排除
错误 0x800700DF:文件大小超过限制。
确保已修改 FileSizeLimitInBytes 为 FFFFFFFF。
错误 0x80070035(找不到网络路径):
检查服务端防火墙是否开放端口 80,并确保 WebClient 服务已启动。
六、安全警告
HTTP 是明文协议,敏感数据可能被窃听,建议仅在内部网络使用。
服务端应启用 HTTPS(推荐使用 Let's Encrypt 免费证书)。