Get-NetAdapter não funcionará

0

O primeiro exemplo simples usando Get-NetAdapterna Get-Helpda Microsoft não irá funcionar na minha máquina. Alguma sugestão?

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

Parece que tenho o módulo NetAdapter no meu sistema.

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...

Finalmente consegui ver todos os ExportedCommands, mas o Get-NetAdapter não está entre eles.

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

Com base na resposta de Seth, tenho:

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

Vou aceitar a resposta de Seth e postar uma nova pergunta sobre as configurações de permissão.

aceso
fonte
Como não conheço nenhuma ferramenta para personalizar o PowerShell, não sei se a usei. Quais são algumas dessas ferramentas populares que eu poderia ter encontrado? Principalmente, acabei de fazer o Windows Update.
lit

Respostas:

0

Get-NetAdpaternão seria um módulo, mas um comando. Você precisaria executar em Get-Commandvez de Get-Module. Além disso, se você ler atentamente a exceção no primeiro caso, será uma exceção de metadados. Está dizendo a você que não pode ler a estrutura de dados de back-end. 0x80041010parece ser o código invalid classretornado pelo WMI. Portanto, seu WMI pode estar danificado ( isso pode ajudar ) ou pode ser que você tenha permissões insuficientes. O último é muito mais improvável que o primeiro.

No link acima, para reconstruir, você pode tentar:

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

Estou deixando de fora a solução mais avançada. Isso ajudará você a verificar sempre que seu WMI estiver danificado.

Seth
fonte