Edited at

VMware vSphere PowerCLI で ゲストOSの情報をCSVにエクスポートする方法

More than 3 years have passed since last update.

以下のブログでやってることを実行したくてインストールした。

Get-VM・Get-VMguestで取得できる仮想マシン・ゲストOS情報とプロパティの一覧。VMware PowerCLI

http://blog.putise.com/get-vm%E3%83%BBget-vmguest%E3%81%A7%E5%8F%96%E5%BE%97%E3%81%A7%E3%81%8D%E3%82%8B%E4%BB%AE%E6%83%B3%E3%83%9E%E3%82%B7%E3%83%B3%E3%83%BB%E3%82%B2%E3%82%B9%E3%83%88os%E6%83%85%E5%A0%B1%E3%81%A8%E3%83%97/


準備


ダウンロード

vSphere PowerCLI 5.5

https://my.vmware.com/jp/web/vmware/details?downloadGroup=PCLI550&productId=352


使う

PowerShell を起動してポリシーを変更する



Set-ExecutionPolicy -ExecutionPolicy RemoteSigned



これをしないと、PowerCLI起動してもエラーになる。

以下のPSファイルを ほげほげ.ps1 として保存して実行する。

$_USER="root"        #ユーザー名

$_PASS="パスーワード" #パスワード
$_SERV="192.168.XXX.XXX" #サーバーのIP

$_HOME="c:\temp"
$_DATE = Get-Date -Format "yyyyMMdd_HHmmss"
$_OUTP_VM="get-vm_$_DATE.csv"
$_OUTP_VMGUEST="get-vmguest_$_DATE.csv"
$_OUTP_VMDISK="get-disk_$_DATE.csv"

Add-PSSnapin VMware.VimAutomation.Core

cd $_HOME

Connect-VIServer -Server $_SERV -User $_USER -Password $_PASS

Get-VM | select Name,Version,Guest,Folder,ProvisionedSpaceGB,UsedSpaceGB |Export-csv $_OUTP_VM

$VMLIST = Get-VM
Foreach($VM in $VMLIST ){
$VM.Name
$VM.Guest | select VmName,OSFullName,IPAddress,State,Disks,HostName,Nics,ScreenDimensions,VmId,VM,VmUid,GuestId,ExtensionData,Client,GuesetFamily | Export-csv $_OUTP_VMGUEST -Append
$VMGuest = Get-VMGuest $VM.Name
$VMGuest.Disks |select @{ Name = "Name" ; Expression= {$VM.Name}},CapacityGB,FreeSpaceGB,Path | Export-Csv $_OUTP_VMDISK -Append
}

Disconnect-VIServer -Server $_SERV -Confirm:$False