Первый простой пример использования Get-NetAdapter в Get-Help от Microsoft не будет работать на моем компьютере. Какие-либо предложения?

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

Основываясь на ответе Сета, я имею:

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

Я собираюсь принять ответ Сета и опубликовать новый вопрос о настройках разрешений.

1 ответ1

0

Get-NetAdpater бы не модулем, а командой. Вам нужно будет запустить Get-Command вместо Get-Module . Кроме того, если вы внимательно прочитали исключение в первом случае, это исключение метаданных. Он говорит вам, что не может прочитать структуру данных бэкэнда. Кажется, 0x80041010 - это код invalid class возвращаемый WMI. Таким образом, ваш 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 может быть поврежден.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .