Windows系统错误6118全面解决方案:修复"此工作组的服务器列表当前无法使用"
问题概述
当在Windows系统中执行net view
相关命令时,出现系统错误 6118,提示"此工作组的服务器列表当前无法使用",这是常见的网络服务故障。本文将提供完整的排查和解决方案。

错误原因深度分析
1. 服务状态问题
- Computer Browser服务未运行或异常
- Server服务未启动
- Workstation服务故障
2. 网络配置问题
- 网络发现功能被禁用
- 文件和打印机共享未启用
- 防火墙阻止了NetBIOS通信
3. 协议配置问题
- NetBIOS over TCP/IP未启用
- SMB协议配置错误
- 网络协议栈损坏
立即解决方案
方案1:重启关键服务
以管理员身份运行PowerShell,执行以下命令:
powershell
# 重启网络浏览相关服务
Restart-Service -Name "Browser" -Force
Restart-Service -Name "LanmanServer" -Force
Restart-Service -Name "LanmanWorkstation" -Force
# 检查服务状态
Get-Service -Name "Browser", "LanmanServer", "LanmanWorkstation" | Format-Table Name, Status, StartType
方案2:启用网络发现和文件共享
powershell
# 启用网络发现
Set-NetFirewallRule -DisplayGroup "网络发现" -Enabled True
# 启用文件和打印机共享
Set-NetFirewallRule -DisplayGroup "文件和打印机共享" -Enabled True
# 检查网络配置文件
Get-NetConnectionProfile | Format-Table Name, NetworkCategory
网络配置修复
检查网络发现设置
powershell
# 设置网络为专用网络(启用网络发现)
$profile = Get-NetConnectionProfile
Set-NetConnectionProfile -Name $profile.Name -NetworkCategory Private
# 验证设置
Get-NetConnectionProfile
启用NetBIOS over TCP/IP
方法1:通过PowerShell
powershell
# 获取网络适配器信息
Get-NetAdapter | Format-List Name, InterfaceDescription
# 启用NetBIOS(需要知道适配器名称)
$adapterName = "以太网" # 替换为实际适配器名称
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Interfaces\Tcpip_$($adapterName)" -Name NetbiosOptions -Value 0
方法2:图形界面操作
- 打开"网络连接"
- 右键点击网络适配器 → 属性
- 选择"Internet协议版本4 (TCP/IPv4)" → 属性
- 点击"高级" → WINS选项卡
- 选择"启用NetBIOS over TCP/IP"
服务配置深度修复
检查并修复服务依赖关系
powershell
# 检查关键服务的状态和依赖关系
$services = @("Browser", "LanmanServer", "LanmanWorkstation", "Netlogon")
foreach ($service in $services) {
$svc = Get-Service -Name $service -ErrorAction SilentlyContinue
if ($svc) {
Write-Host "服务: $($svc.Name)"
Write-Host "状态: $($svc.Status)"
Write-Host "启动类型: $($svc.StartType)"
Write-Host "---"
} else {
Write-Warning "服务 $service 未找到"
}
}
# 设置服务为自动启动
Set-Service -Name "Browser" -StartupType Automatic
Set-Service -Name "LanmanServer" -StartupType Automatic
Set-Service -Name "LanmanWorkstation" -StartupType Automatic
重置网络协议栈
powershell
# 重置Winsock目录(需要管理员权限)
netsh winsock reset
# 重置TCP/IP协议
netsh int ip reset
# 刷新DNS缓存
ipconfig /flushdns
# 重启计算机后生效
Write-Host "请重启计算机完成重置"
高级网络诊断
使用网络诊断工具
powershell
# 检查网络连通性
Test-NetConnection -ComputerName "localhost" -Port 445
Test-NetConnection -ComputerName "127.0.0.1" -Port 139
# 检查NetBIOS名称解析
nbtstat -n
# 查看网络共享会话
net session
检查防火墙规则
powershell
# 查看当前防火墙规则
Get-NetFirewallRule -DisplayGroup "网络发现" | Where-Object {$_.Enabled -eq "True"} | Format-Table DisplayName, Enabled
Get-NetFirewallRule -DisplayGroup "文件和打印机共享" | Where-Object {$_.Enabled -eq "True"} | Format-Table DisplayName, Enabled
# 如果规则缺失,重新启用
Enable-NetFirewallRule -DisplayGroup "网络发现"
Enable-NetFirewallRule -DisplayGroup "文件和打印机共享"
注册表修复方案
修复网络相关注册表项
powershell
# 备份当前注册表
$backupPath = "C:\regbackup"
if (!(Test-Path $backupPath)) {
New-Item -ItemType Directory -Path $backupPath
}
# 备份网络相关注册表项
reg export "HKLM\SYSTEM\CurrentControlSet\Services\NetBT" "$backupPath\NetBT.reg"
reg export "HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer" "$backupPath\LanmanServer.reg"
# 修复MaintainServerList设置(关键修复)
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Browser\Parameters" -Name "MaintainServerList" -Value "Yes"
# 修复服务器公告设置
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" -Name "Size" -Value 3
组策略配置检查
检查网络相关策略
powershell
# 检查当前计算机策略
gpresult /r | Select-String "网络发现"
# 检查本地组策略设置
# 运行 gpedit.msc 检查以下路径:
# 计算机配置 → 管理模板 → 网络 → Lanman工作站
# 计算机配置 → 管理模板 → 网络 → Lanman服务器
替代命令方案
使用其他网络发现方法
powershell
# 使用PowerShell发现网络计算机
Get-NetNeighbor | Where-Object {$_.State -eq "Reachable"} | Format-Table IPAddress, LinkLayerAddress, State
# 使用WMI查询网络计算机
Get-WmiObject -Class Win32_NetworkAdapter | Where-Object {$_.NetEnabled -eq $true} | Format-Table Name, NetConnectionStatus
# 使用.NET方法
[System.Net.Dns]::GetHostEntry([System.Net.Dns]::GetHostName())
预防措施和最佳实践
1. 定期服务检查脚本
powershell
# 创建定期检查脚本
function Check-NetworkServices {
$services = @("Browser", "LanmanServer", "LanmanWorkstation")
$results = @()
foreach ($service in $services) {
$status = Get-Service -Name $service -ErrorAction SilentlyContinue
if ($status) {
$results += [PSCustomObject]@{
Service = $service
Status = $status.Status
StartType = $status.StartType
}
}
}
return $results
}
# 执行检查
Check-NetworkServices | Format-Table
2. 网络配置备份
powershell
# 备份网络配置
function Backup-NetworkConfig {
$backupDir = "C:\NetworkConfigBackup"
if (!(Test-Path $backupDir)) {
New-Item -ItemType Directory -Path $backupDir
}
# 备份网络适配器配置
Get-NetAdapter | Export-Clixml "$backupDir\NetAdapter.xml"
# 备份IP配置
Get-NetIPConfiguration | Export-Clixml "$backupDir\IPConfig.xml"
# 备份防火墙规则
Get-NetFirewallProfile | Export-Clixml "$backupDir\FirewallProfiles.xml"
Write-Host "网络配置已备份到: $backupDir"
}
故障排除流程图
开始
↓
检查Browser服务状态 → 异常 → 重启服务
↓正常
检查Server服务状态 → 异常 → 重启服务
↓正常
检查网络发现设置 → 禁用 → 启用网络发现
↓正常
检查防火墙规则 → 阻止 → 启用相关规则
↓正常
检查NetBIOS设置 → 禁用 → 启用NetBIOS over TCP/IP
↓正常
重置网络协议栈
↓
测试net view命令
↓
问题解决
常见问题解答
Q: 为什么重启服务后问题会复发?
A: 可能是服务启动类型设置为"手动"或"禁用",需要设置为"自动"。
Q: 在域环境中如何解决此问题?
A: 域环境中还需要检查Netlogon服务和DNS解析,确保能够正常联系域控制器。
Q: 这些修复对企业环境安全有影响吗?
A: 网络发现和文件共享确实会增加一定的安全风险,建议在受信任的内部网络中使用。
Q: Windows 10/11中Computer Browser服务被移除怎么办?
A: 新版本Windows使用Function Discovery服务替代,可以使用Get-NetNeighbor
等现代命令。
总结
错误6118通常是由于网络浏览服务异常或配置问题导致的。通过系统性的服务检查、网络配置修复和协议重置,大多数情况下都能解决问题。建议按照本文提供的步骤顺序进行排查,从简单的服务重启到复杂的注册表修复,逐步深入解决问题。