Vmware-Esxi

Get-VMHost 不顯示伺服器 Networkinfo 和程序數

  • August 7, 2015

我執行以下 powercli 5.5 命令,以獲取有關主機 vm 的資訊:-

Get-VMHost |Export-Csv -Path c:\VM.csv -NoTypeInformation –UseCulture

我得到了這些資訊:-

State   ConnectionState PowerState  VMSwapfileDatastoreId   VMSwapfilePolicy    ParentId    IsStandalone    Manufacturer    Model   NumCpu  CpuTotalMhz CpuUsageMhz LicenseKey  MemoryTotalMB   MemoryTotalGB   MemoryUsageMB   MemoryUsageGB   ProcessorType   HyperthreadingActive    TimeZone    Version Build   Parent  VMSwapfileDatastore StorageInfo NetworkInfo DiagnosticPartition FirewallDefaultPolicy   ApiVersion  Name    CustomFields    ExtensionData   Id  Uid
Connected   Connected   PoweredOn       WithVM  Folder-ha-folder-host   TRUE    HP  ProLiant DL365 G5   8   18400   1402    5M230-08JDM-J8R41-05NH4-2DR3N   16381.85547 15.99790573 13184   12.875  Quad-Core AMD Opteron(tm) Processor 2356    FALSE   UTC 5.0.0   623860  host        HostStorageSystem-storageSystem localhost:  mpx.vmhba1:C0:T0:L0 VMHostFirewallDefaultPolicy:HostSystem-ha-host  5   172***.101  VMware.VimAutomation.ViCore.Impl.V1.Util.ReadOnlyDictionary`2[System.String,System.String]  VMware.Vim.HostSystem   HostSystem-ha-host  /VIServer=root@***:443/VMHost=HostSystem-ha-host/

但我有這兩個問題:-

  • networkinfo列下,我得到了以下內容"localhost:",而不是獲取主機 ip、ma​​c 等。那麼是什麼導致 Networkinf 不顯示實際的網路資訊?
  • 對於NumCpu列,我得到 8,這是我們案例中的核心數。在我們的例子中,我們有 2 個程序,每個處理器上有 4 個核心。所以我的問題是如何獲得程序數(在我們的例子中為 2)而不是獲得核心數?這可能嗎?

networkinfo列下,我得到了以下“localhost:”而不是獲取主機 ip、ma​​c 等。那麼是什麼導致NetworkInfo不顯示實際的網路資訊?

NetworkingInfo屬性實際上是一個VMHostNetworkInfo類型的對象,其字元串表示是主機的“名稱”和“域”用冒號粘合在一起。這轉換為主機認為它的主機名和域是什麼,並且應該配置為匹配 FQDN。

您可以使用此處Set-VMHostNetwork概述的 cmdlet來更改它。

$vmHostNetworkInfo = Get-VmHostNetwork -Host Host

Set-VmHostNetwork -Network $vmHostNetworkInfo -DomainName eng.vmware.com -HostName Host1

對於NumCpu列,我得到 8,這是我們案例中的核心數。在我們的例子中,我們有 2 個程序,每個處理器上有 4 個核心。所以我的問題是如何獲得程序數(在我們的例子中為 2)而不是獲得核心數?這可能嗎?

這是可能的,但是您已經深入探勘了主機的對象結構以獲取它。它 ExtensionData.Summary.Hardware.NumCpuPkgs位於給定 VMHost 對象的屬性中。

你可以這樣得到它:

$VmHost = Get-VMHost <hostname>
$HostSockets = $VmHost.ExtensionData.Summary.Hardware.NumCpuPkgs

引用自:https://serverfault.com/questions/711583