Get-VMNetworkAdapter kommandot rapporterar inte IP-adresser
Den här artikeln beskriver ett problem där kommandots utdata Get-VMNetworkAdapter
inte innehåller de IP-adresser som är associerade med det angivna kortet.
Gäller för: Windows Server (alla versioner)
Symptom
Du kör Get-VMNetworkAdapter PowerShell-kommandot i en kommandotolk på en virtuell dator. Du kan till exempel köra följande kommando:
PS C:\> Get-VMNetworkAdapter -VMName clu3vm1
Kommandoutdata liknar följande:
Name IsManagementOs VMName SwitchName MacAddress Status IPAddresses
---- -------------- ------ ---------- ---------- ------ -----------
Network Adapter False CLU3VM1 Public 00155D081704 {Ok} {}
I stället för att innehålla förväntade data IPAddress är kolumnen i tabellen tom.
Om du vill felsöka det här problemet kontrollerar du först att exchange-integreringstjänsten för Key-Value par är aktiverad. Det gör du genom att köra följande kommando:
PS C:\> (Get-VM -VMName clu3vm1).VMIntegrationService
VMName Name Enabled PrimaryStatusDescription SecondaryStatusDescription
------ ---- ------- ------------------------ --------------------------
CLU3VM1 Guest Service Interface False OK
CLU3VM1 Heartbeat True OK OK
CLU3VM1 Key-Value Pair Exchange True OK
CLU3VM1 Shutdown True OK
CLU3VM1 Time Synchronization True OK
CLU3VM1 VSS True OK
Om Key-Value Pair Exchange-tjänsten inte är aktiverad aktiverar du den och kör Get-VMNetworkAdapter
sedan igen. Om IP-adressinformationen fortfarande saknas och tjänsten är aktiverad NetTCPIP
saknas förmodligen WMI-providern från den virtuella datorn. Kör kommandot på namnområdet i kommandotolken Get-WmiObject
enligt Root\\Standardcimv2
följande:
PS C:\> Get-WmiObject -Namespace "root\standardcimv2" -Class __Win32Provider | select __NAMESPACE, Name
Utdata liknar följande exempel. Observera att ROOT\Standardcimv2 NetTCPIP
saknas.
__NAMESPACE Name
----------- ----
ROOT\Standardcimv2 NetEventPacketCapture
ROOT\Standardcimv2 MSFT_Printer
ROOT\Standardcimv2 NetTtCim
ROOT\Standardcimv2 MsNetImPlatform
ROOT\Standardcimv2 NetDaCim
ROOT\Standardcimv2 NlmCim
ROOT\Standardcimv2 netnat
ROOT\Standardcimv2 wfascim
ROOT\Standardcimv2 NetSwitchTeam
ROOT\Standardcimv2 NetAdapterCim
ROOT\Standardcimv2 dnsclientcim
ROOT\Standardcimv2 NetQosCim
ROOT\Standardcimv2 NetPeerDist
ROOT\Standardcimv2 NetNcCim
Använd dessutom Get-WmiObject
för att visa attributen för MSFT_NetIPInterfaceAdapter klassen enligt följande:
PS C:\> Get-WmiObject -Namespace "root\standardcimv2" -Class "MSFT_NetIPInterfaceAdapter"
I stället för det svar som du förväntar dig ser utdata ut ungefär som i följande exempel:
Get-WmiObject : Invalid class "MSFT_NetIPInterfaceAdapter"
At line:1 char:1
+ Get-WmiObject -Namespace "root\Standardcimv2" -Class "MSFT_NetIPInter ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidType: (:) [Get-WmiObject], ManagementException
+ FullyQualifiedErrorId : GetWMIManagementException,Microsoft.PowerShell.Commands.GetWmiObjectCommand
Orsak
NetTCPIP WMI-providern är inte installerad i gästoperativsystemet (den virtuella datorn).
Lösning
Öppna ett upphöjt kommandotolkfönster på den virtuella datorn och ändra sedan till %SystemRoot%\System32\wbem mappen . Kör följande kommandon i kommandotolken:
C:\Windows\System32\wbem>regsvr32.exe NetTCPIP.dll
C:\Windows\System32\wbem>mofcomp.exe NetTCPIP.mof
Du bör se följande utdata:
Microsoft (R) MOF Compiler Version 10.0.14393.0
Copyright (c) Microsoft Corp. 1997-2006. All rights reserved.
Parsing MOF file: NetTCPIP.mof
MOF file has been successfully parsed
Storing data in the repository...
Done!
Feedback
Skicka och visa feedback för