PowerShell 5.1执行Add-VpnConnectionRoute报Invalid class错误求助
解决Add-VpnConnectionRoute报错"Invalid class"问题
问题详情
我尝试用以下PowerShell命令给公司实验室VPN添加路由:
Add-VpnConnectionRoute -Name VPN_NAME -DestinationPrefix 192.168.18.0/24 -RouteMetric 500
但收到如下错误:
Add-VpnConnectionRoute : Invalid class At line:1 char:1 + Add-VpnConnectionRoute -Name VPN_NAME -DestinationPrefix 192. ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : MetadataError: (PS_VpnConnectionRoute:root/Microsoft/...ConnectionRoute) [Add-VpnConnectionRoute], Cim Exception + FullyQualifiedErrorId : HRESULT 0x80041010,Add-VpnConnectionRoute
我的PowerShell版本信息:
| Major | Minor | Build | Revision |
|---|---|---|---|
| 5 | 1 | 19041 | 3570 |
已尝试操作:
- 分别以管理员、非管理员权限运行命令
- 使用PowerShell ISE(能看到VpnClient模块命令,确认模块存在)
此前有同类问题未得到解答,特此求助。
修复方案
1. 重置WMI存储库
该错误多因WMI中VPN相关CIM类损坏导致,执行以下步骤修复:
# 强制停止WMI服务 Stop-Service Winmgmt -Force # 重置WMI存储库 winmgmt /resetrepository # 重启WMI服务 Start-Service Winmgmt
执行完成后重启电脑,再尝试添加路由。
2. 修复系统组件与VpnClient模块
若为系统内置VpnClient模块损坏,用DISM和SFC修复:
# 修复系统镜像 DISM /Online /Cleanup-Image /RestoreHealth # 扫描并修复系统文件 sfc /scannow
如果是第三方VpnClient模块,可卸载后重装:
Uninstall-Module -Name VpnClient -Force Install-Module -Name VpnClient -Force -AllowClobber
3. 手动添加静态路由(替代方案)
若以上方法无效,可在VPN连接成功后手动添加路由:
# 获取VPN适配器的接口索引 Get-NetAdapter | Where-Object {$_.Name -match "VPN_NAME"} # 替换<接口索引>为实际值,执行添加路由命令 New-NetRoute -DestinationPrefix 192.168.18.0/24 -InterfaceIndex <接口索引> -RouteMetric 500
内容的提问来源于stack exchange,提问作者CptGeo
相关产品推荐
相关产品推荐

