Get-NetAdapter 不起作用

Get-NetAdapter 不起作用

Microsoft 的第一个简单示例无法在我的计算机上运行。有什么建议吗Get-NetAdapterGet-Help

PS C:\Users\lit> Get-NetAdapter -Name *
Get-NetAdapter : Invalid class
At line:1 char:1
+ Get-NetAdapter -Name *
+ ~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : MetadataError: (MSFT_NetAdapter:ROOT/StandardCimv2/MSFT_NetAdapter) [Get-NetAdapter], CimException
    + FullyQualifiedErrorId : HRESULT 0x80041010,Get-NetAdapter

PS C:\Users\lit> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.14393.1066
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.14393.1066
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

看来我的系统上有 NetAdapter 模块。

PS C:\Users\pwatson> Get-Module -ListAvailable | Where-Object {$_.Name -Like '*NetAdapter*'}

    Directory: C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules

ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Manifest   2.0.0.0    NetAdapter                          {Disable-NetAdapter, Disable-NetAdapterBinding, Disable-NetAdapterChecksumOffload, Disable-NetAdapt...

我终于看到了所有的 ExportedCommands,但 Get-NetAdapter 不在其中。

Get-Module -ListAvailable | Where-Object {$_.Name -Like '*NetAdapter*'} | Select-Object -Property {$_.ExportedCommands} | Format-Custom

根据 Seth 的回答,我有:

C:\Users\pwatson>winmgmt /verifyrepository
WMI repository verification failed
Error code:     0x80041003
Facility:       WMI
Description:    Access denied

我将接受Seth的回答并发布一个关于权限设置的新问题。

答案1

Get-NetAdpater不是一个模块,而是一个命令。您需要运行Get-Command而不是Get-Module。此外,如果您仔细阅读第一种情况下的异常,您会发现它是元数据异常。它告诉您无法读取后端数据结构。0x80041010似乎是 WMI 返回的代码invalid class。因此您的 WMI 可能已损坏(这可能会有帮助)或者可能是您没有足够的权限。后者的可能性比前者小得多。

从上面的链接为了重建您可以尝试:

1. winmgmt /verifyrepository
If the result is shown as inconsistent, go to step 2
2. winmgmt /salvagerepository
3. winmgmt /verifyrepository - to check again wmi repository had been repaired successfully

我不提更高级的解决方案。因为这应该可以帮助您验证您的 WMI 是否可能被损坏。

答案2

必须运行网络设置服务才能使“Get-NetAdapter”命令在 PowerShell 中返回任何内容。

相关内容