一般来说,应该如何调试与CmdletizationQuery_NotFound
消息相关的故障,为什么基于 MSFT_NetRoute 的查询会注册这样的错误?
细节
具体来说,我的 Kubernetes CNI 提供程序 (antrea) 发布了一条与其启动时间相关的错误消息MSFT_NetRoute
,因为它无法成功运行引导自身所需的 powershell 查询。错误消息有一个可疑字符串,其中:
- 可能与 powershell 版本有关(我在这篇文章的后面没有确认,但这是一个合理的假设)
- 我还考虑到这个错误可能来自我没有安装的外部东西......
- 最后,在不完全了解 cmdletizationQuery 错误消息的性质的情况下,可以合理地假设这与较低级别的网络设置问题有关。
+ FullyQualifiedErrorId : CmdletizationQuery_NotFound,Get-NetRoute
此消息的上述片段突出显示了Get-NetRoute
下面发生的相关错误,这令人费解,因为它似乎表明该Get-NetRoute
查询不是要运行的有效查询。但是https://docs.microsoft.com/en-us/powershell/module/nettcpip/get-netroute?view=windowsserver2019-ps似乎暗示 Get-NetRoute 在 powershell 中默认可用。
错误信息
ROOT/StandardCimv2/MSFT_NetRoute class on the CIM server: SELECT * FROM MSFT_NetRoute WHERE ((DestinationPrefix LIKE
'0.0.0.0/0')) AND ((InterfaceIndex = 26)). Verify query parameters and retry.
At line:1 char:3
+ $(Get-NetRoute -InterfaceIndex 26 -DestinationPrefix 0.0.0.0/0 ).Next ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (MSFT_NetRoute:String) [Get-NetRoute], CimJobException
+ FullyQualifiedErrorId : CmdletizationQuery_NotFound,Get-NetRoute
Powershell 版本
这台机器上的powershell版本似乎是最新的......(我认为5.1在windows server 2019上是正常的)......
Name Value
---- -----
PSVersion 5.1.17763.1852
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.17763.1852
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
注意:我已经在具有类似 5.1.x powershell 版本 (5.1.17763.1490) 的类似版本的 windows server 2019 中对此进行了测试,但没有看到此故障。所以,
问题
- 我需要做些什么才能
Get-NetRoute
在我的机器上正常工作吗? - 这是否与其他事情有关(即在单个 VM 上配置网络接口的方式)?请注意,这是一个 VirtualBox VM,所以如果出现桥接或 NAT 网络问题,我不会完全震惊。