Quantcast
Channel: VMware Communities : Blog List - All Communities
Viewing all articles
Browse latest Browse all 3135

PowerCLI の参照コマンド超入門。(Get-VMHost)

$
0
0

無償版の ESXi の場合は、PowerCLI での ESXi/VM の操作ができません。

しかし、ESXi からの情報取得であれば可能であり、

情報を参照するだけでも PowerCLI は便利だと思います。

 

ただ、PowerCLI(PowerShell)に慣れていない場合に

単純にコマンド単体を実行して表示するだけという もったいないケースがあるようです。


すこし工夫をするだけで だいぶ便利になるので

いくつか役立ちそうなことを紹介してみようと思います。


今回の PowerCLI のバージョンは、5.5 R2 です。

PowerCLI C:\> Get-PowerCLIVersion

 

PowerCLI Version

----------------

   VMware vSphere PowerCLI 5.5 Release 2 build 1671586

---------------

Snapin Versions

---------------

   VMWare AutoDeploy PowerCLI Component 5.5 build 1598391

   VMWare ImageBuilder PowerCLI Component 5.5 build 1598391

   VMware License PowerCLI Component 5.5 build 1265954

   VMware VDS PowerCLI Component 5.5 build 1671576

   VMware vSphere PowerCLI Component 5.5 build 1671576

 

有償版の ESXi を使用している場合は、ほぼ必ず vCenter がいるので

PowerCLI からは vCenter に接続します。

一方、

無償版 ESXi を使用してる場合や、まだ vCenter がない場合は ESXi に直接接続します。

※今回は、hv55n1 ~ hv55n4 という 4台のESXi に接続しています。

PowerCLI C:\> $esxi = "hv55n1.vmad.local","hv55n2.vmad.local","hv55n3.vmad.local","hv55n4.vmad.local"

PowerCLI C:\> Connect-VIServer -Server $esxi -User root -Password ********

 

Name                           Port  User

----                           ----  ----

hv55n1.vmad.local              443   root

hv55n2.vmad.local              443   root

hv55n3.vmad.local              443   root

hv55n4.vmad.local              443   root

 

ESXi の情報を取得するとき、

ただ Get-VMHost を実行しただけだと下記のようになります。

※「警告: 3 個の列が~」は、PowerCLI の画面幅が小さい(デフォルトの80のまま)ためです。

PowerCLI C:\> Get-VMHost

 

警告: 3 個の列が表示に収まらないため、削除されました。

 

Name                 ConnectionState PowerState NumCpu CpuUsageMhz CpuTotalMhz

----                 --------------- ---------- ------ ----------- -----------

hv55n1.vmad.local    Connected       PoweredOn       2         189        3594

hv55n3.vmad.local    Connected       PoweredOn       2         267        3594

hv55n2.vmad.local    Connected       PoweredOn       2         719        3594

hv55n4.vmad.local    Connected       PoweredOn       2         439        3594

 

デフォルトだと、大した情報は表示されていませんが、

実際は、詳細情報を取得できます。

PowerCLI C:\> Get-VMHost | Get-Member

 

   TypeName: VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl

 

Name                  MemberType Definition

----                  ---------- ----------

Equals                Method     bool Equals(System.Object obj)

GetHashCode           Method     int GetHashCode()

GetType               Method     type GetType()

ToString              Method     string ToString()

ApiVersion            Property   System.String ApiVersion {get;}

Build                 Property   System.String Build {get;}

ConnectionState       Property   VMware.VimAutomation.ViCore.Types.V1.Host.V...

CpuTotalMhz           Property   System.Int32 CpuTotalMhz {get;}

CpuUsageMhz           Property   System.Int32 CpuUsageMhz {get;}

CustomFields          Property   System.Collections.Generic.IDictionary`2[[S...

DiagnosticPartition   Property   VMware.VimAutomation.ViCore.Types.V1.Host.V...

ExtensionData         Property   System.Object ExtensionData {get;}

FirewallDefaultPolicy Property   VMware.VimAutomation.ViCore.Types.V1.Host.V...

HyperthreadingActive  Property   System.Boolean HyperthreadingActive {get;}

Id                    Property   System.String Id {get;}

IsStandalone          Property   System.Boolean IsStandalone {get;}

LicenseKey            Property   System.String LicenseKey {get;}

Manufacturer          Property   System.String Manufacturer {get;}

MaxEVCMode            Property   System.String MaxEVCMode {get;}

MemoryTotalGB         Property   System.Decimal MemoryTotalGB {get;}

MemoryTotalMB         Property   System.Decimal MemoryTotalMB {get;}

MemoryUsageGB         Property   System.Decimal MemoryUsageGB {get;}

MemoryUsageMB         Property   System.Decimal MemoryUsageMB {get;}

Model                 Property   System.String Model {get;}

Name                  Property   System.String Name {get;}

NetworkInfo           Property   VMware.VimAutomation.ViCore.Types.V1.Host.N...

NumCpu                Property   System.Int32 NumCpu {get;}

Parent                Property   VMware.VimAutomation.ViCore.Types.V1.Invent...

ParentId              Property   System.String ParentId {get;}

PowerState            Property   VMware.VimAutomation.ViCore.Types.V1.Host.V...

ProcessorType         Property   System.String ProcessorType {get;}

State                 Property   VMware.VimAutomation.ViCore.Types.V1.Host.V...

StorageInfo           Property   VMware.VimAutomation.ViCore.Types.V1.Host.S...

TimeZone              Property   VMware.VimAutomation.ViCore.Types.V1.Host.V...

Uid                   Property   System.String Uid {get;}

Version               Property   System.String Version {get;}

VMSwapfileDatastore   Property   VMware.VimAutomation.ViCore.Types.V1.Datast...

VMSwapfileDatastoreId Property   System.String VMSwapfileDatastoreId {get;}

VMSwapfilePolicy      Property   System.Nullable`1[[VMware.VimAutomation.ViC...

 

そこで、Select-Object でデフォルトでは表示されないプロパティを指定すれば

「インストールされている ESXi の Build 番号まで揃っているか」

などの情報も確認することができます。

※「Format-Table -AutoSize」により、表形式で幅を自動調整しました。

※「Select-Object *」とすれば、すべてのプロパティを表示できます。

PowerCLI C:\> Get-VMHost | Select-Object Name,Version,Build | Format-Table -AutoSize

 

Name              Version Build

----              ------- -----

hv55n1.vmad.local 5.5.0   1623387

hv55n3.vmad.local 5.5.0   1623387

hv55n4.vmad.local 5.5.0   1623387

hv55n2.vmad.local 5.5.0   1623387

 

また、PowerCLI で情報取得すると、

必ずしも同じ順番で結果が表示されるとは限りません。

そこで Sort-Object で Name 列によって昇順で並べて表示してみます。

PowerCLI C:\> Get-VMHost | Sort-Object Name

 

警告: 3 個の列が表示に収まらないため、削除されました。

 

Name                 ConnectionState PowerState NumCpu CpuUsageMhz CpuTotalMhz

----                 --------------- ---------- ------ ----------- -----------

hv55n1.vmad.local    Connected       PoweredOn       2         370        3594

hv55n2.vmad.local    Connected       PoweredOn       2         952        3594

hv55n3.vmad.local    Connected       PoweredOn       2         479        3594

hv55n4.vmad.local    Connected       PoweredOn       2         718        3594

 

最後に、ESXi の物理的な CPU コア数と、メモリ容量を表示しみます。

メモリ容量が微妙な小数で表示されました。

※「ft」は「Format-Table」の短縮形です。

PowerCLI C:\> Get-VMHost | select Name,Version,Build,NumCpu,MemoryTotalGB | ft -AutoSize

 

Name              Version Build   NumCpu        MemoryTotalGB

----              ------- -----   ------        -------------

hv55n1.vmad.local 5.5.0   1623387      2 3.999500274658203125

hv55n4.vmad.local 5.5.0   1623387      2 3.999500274658203125

hv55n3.vmad.local 5.5.0   1623387      2 3.999500274658203125

hv55n2.vmad.local 5.5.0   1623387      2 3.999500274658203125

 

このような場合、PowerShell の型変換を使用すると

うまい具合に調節して、結果を見やすくすることができます。

PowerCLI C:\> Get-VMHost | select Name,Version,Build,NumCpu,{[int]$_.MemoryTotalGB} | ft -AutoSize

 

Name              Version Build   NumCpu [int]$_.MemoryTotalGB

----              ------- -----   ------ ---------------------

hv55n3.vmad.local 5.5.0   1623387      2                     4

hv55n1.vmad.local 5.5.0   1623387      2                     4

hv55n4.vmad.local 5.5.0   1623387      2                     4

hv55n2.vmad.local 5.5.0   1623387      2                     4

 

メモリ容量の列名が式になってしまったので、

列名も PowerShell の機能で「MemGB」に変更してみます。

PowerCLI C:\> Get-VMHost | select Name,Version,Build,NumCpu,@{Name="MemGB";Expression={[int]$_.MemoryTotalGB}} | ft -AutoSize

 

Name              Version Build   NumCpu MemGB

----              ------- -----   ------ -----

hv55n1.vmad.local 5.5.0   1623387      2     4

hv55n3.vmad.local 5.5.0   1623387      2     4

hv55n4.vmad.local 5.5.0   1623387      2     4

hv55n2.vmad.local 5.5.0   1623387      2     4

 

これまでの工夫をまとめてみました。

※ここでは、さらに省略形にしています。

PowerCLI C:\> Get-VMHost | select Name,Version,Build,NumCpu,@{N="MemGB";E={[int]$_.MemoryTotalGB}} | sort Name | ft -AutoSize

 

Name              Version Build   NumCpu MemGB

----              ------- -----   ------ -----

hv55n1.vmad.local 5.5.0   1623387      2     4

hv55n2.vmad.local 5.5.0   1623387      2     4

hv55n3.vmad.local 5.5.0   1623387      2     4

hv55n4.vmad.local 5.5.0   1623387      2     4

 

以上です。いまさらですが、PowerCLI の参照コマンド超入門でした。


Viewing all articles
Browse latest Browse all 3135

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>