備忘録/にわかエンジニアが好きなように書く

個人的にとりあえず仕組みを知るためにとりあえず動くまで構築や動作をみただけの単なる操作ログです。個人用の備忘録となり、最新の導入手順は個別に確認してください。 ※変な内容や間違いを書いているなどありましたらコメントやご指摘いただけると幸いです。

VMware PowerCLIを使った設定値確認⑥(ゲストマシン)

 

VMware PowerCLIを使ってゲストマシンのステータスを表示させる。

ゲストマシンの情報取得①

下記の画面に表示されるゲストマシンに関する情報を取得する。

f:id:pocket01:20191228152853p:plain

f:id:pocket01:20191228153036p:plain

ゲスト情報の表示-1(CPU , メモリ,起動ステータス)

PS C:\tmp\a> Get-VM | Sort-Object Name
実行結果

f:id:pocket01:20191228231813p:plain

 

ゲスト情報の表示-2(詳細表示)

PS C:\tmp\a> Get-VM | select *
実行結果

f:id:pocket01:20191229213335p:plain



ハードディスク情報の表示

PS C:\tmp\a> Get-VM | Get-HardDisk | Sort-Object Parent | select *
実行結果

f:id:pocket01:20191228231916p:plain

ゲスト情報の表示(ToolsVersionの情報取得)

PS C:\tmp\a> Get-VM | get-vmguest | Sort-Object VM | select *
実行結果

f:id:pocket01:20191228232002p:plain

NIC情報の表示

PS C:\tmp\a> Get-VM | Get-NetworkAdapter | Sort-Object Parent | select *
実行結果

f:id:pocket01:20191228232149p:plain

CDドライブ情報の表示

PS C:\tmp\a> Get-VM | Get-CDDrive | Sort-Object Parent | select *
実行結果

f:id:pocket01:20191228232239p:plain

ゲストマシンの情報取得②

デバイス(NIC,CDドライブ他)情報取得

PS C:\tmp\a> (Get-vm | Get-view).config.hardware.device.DeviceInfo 
実行結果 

f:id:pocket01:20191229001840p:plain

デバイス(CPU,メモリ他)情報取得

PS C:\tmp\a> (Get-vm | Get-view).config.hardware
実行結果 

f:id:pocket01:20191229002507p:plain



 

 

 

ゲストマシンの情報取得スクリプト

ゲスト情報の表示

$report = foreach($vm in Get-VM){
$VM_vmguest = Get-VM $vm | get-vmguest | Sort-Object VM
$VM_HardDisk = Get-VM $vm | Get-HardDisk | Sort-Object Parent
$VM_NetworkAdapter = Get-VM $vm | Get-NetworkAdapter | Sort-Object
$VM_CDDrive = Get-VM $vm | Get-CDDrive | Sort-Object Parent

#起動状態の取得
switch ($VM.PowerState) {
PoweredOn { $VM_PowerState = "起動中" }
PoweredOff { $VM_PowerState = "停止中" }
}

Write-Host "`t-----------------------------------------------------"
Write-Host "`t■仮想マシン名 : " $VM.name "( " $VM_PowerState " )"
Write-Host "`tId`t`t`t`t`t`t:" $VM.Id
Write-Host "`tGuestId`t`t`t`t`t:" $VM.GuestId
Write-Host "`tVersion`t`t`t`t`t:" $VM.Version " (HardwareVersion: " $VM.HardwareVersion " )"
Write-Host "`tNumCpu`t`t`t`t`t:" $VM.NumCpu
Write-Host "`tCoresPerSocket`t`t`t:" $VM.CoresPerSocket
Write-Host "`tMemoryGB`t`t`t`t:" $VM.MemoryGB

Write-Host "`tVMware Tools"
if ($VM_vmguest.ToolsVersion){
Write-Host "`t - Version`t`t`t`t: " $VM_vmguest.ToolsVersion
} else {
Write-Host "`t - Version`t`t`t`t: 未インストール"
}

Write-Host "`tCD/DVDドライブ`t`t`t:" $VM_CDDrive.name" (ConnectionState : "$VM_CDDrive.ConnectionState.Connected ")"


Write-Host ""
Write-Host "`tディスク"
Write-Host "`t Name".PadRight(20) "StorageFormat".PadRight(22) "DiskType".PadRight(10) "CapacityGB".PadRight(15) "Filename".PadRight(50)
Write-Host "`t =========================================================================================================================="
for ($i=0; $i -lt $VM_HardDisk.Length; $i++) {
if ([string]::IsNullOrEmpty($VM_HardDisk[$i].CapacityGB)) { $VM_HardDisk_CapacityGB = "-" } else { $VM_HardDisk_CapacityGB = "{0:0.0}" -f $VM_HardDisk[$i].CapacityGB }

switch ($VM_HardDisk[$i].StorageFormat) {
Thin {$VM_HardDisk_StorageFormat = "シン"}
Thick {$VM_HardDisk_StorageFormat = "シック_Lazy Zeroed"}
EagerZeroedThick {$VM_HardDisk_StorageFormat = "シック_EagerZeroed"}
default {$VM_HardDisk_StorageFormat = "不明"}
}
switch ($VM_HardDisk[$i].DiskType) {
Flat {$VM_HardDisk_DiskType = "Flat"}
default {$VM_HardDisk_DiskType = "その他"}
}
Write-Host "`t " $VM_HardDisk[$i].Name.PadRight(15) ,
$VM_HardDisk_StorageFormat.PadRight(20) ,
$VM_HardDisk_DiskType.PadRight(10) ,
$VM_HardDisk_CapacityGB.PadRight(15) ,
$VM_HardDisk[$i].Filename.PadRight(50)
}
Write-Host ""
Write-Host "`tネットワークインターフェース"
Write-Host "`t VMName".PadRight(20) "Name".PadRight(20) "NetworkName".PadRight(15) "ConnectionState".PadRight(20) "MacAddress".PadRight(20)"Type".PadRight(20)
Write-Host "`t =========================================================================================================================="
for ($i=0; $i -lt $VM_NetworkAdapter.Length; $i++) {

if ($VM_NetworkAdapter[$i].ConnectionState.Connected) { $VM_Network_State = "True" } else { $VM_Network_State = "False" }

Write-Host "`t " $VM_NetworkAdapter[$i].Parent.Name.PadRight(15) ,
$VM_NetworkAdapter[$i].Name.PadRight(20) ,
$VM_NetworkAdapter[$i].NetworkName.PadRight(15) ,
$VM_Network_State.PadRight(20) ,
$VM_NetworkAdapter[$i].MacAddress.PadRight(20) ,
$VM_NetworkAdapter[$i].Type
}

Write-Host ""
}
実行結果

f:id:pocket01:20191229212917p:plain



 

VMware徹底入門  第4版 VMware vSphere 6.0対応
VMware徹底入門 第4版 VMware vSphere 6.0対応