はじめに
ESXiのみで、vCenterは使ってない、そんなおうちクラウドでPowerCLIを使うメモです。
PowerShell起動
シェルの変更って言った方が正しいのかも。
# pwsh
PowerCLIインストール
モジュールの確認
PS /root> Find-Module -Name VMware.PowerCLI
PowerCLIインストール
インストールするかどうか聞かれたらy(yes)
を選択します。
PS /root> Install-Module -Name VMware.PowerCLI
インストールされかどうか確認
PS /root> Get-InstalledModule -Name VMware.PowerCLI
Version Name Repository Description
------- ---- ---------- -----------
12.7.0.20091289 VMware.PowerCLI
接続と切断
ESXiへ接続する
PS /root>Connect-VIServer -Server {IPアドレス} -User root -Password {パスワード}
上記でエラーが出る場合は、-force
オプションをつけてあげると接続できるかも。
PS /root> Connect-VIServer -Server {IPアドレス} -User root -Password {パスワード} -force
ESXiから切断する。終了時は切断しましょう。
PS /root> Disconnect-VIServer -Server {IPアドレス} -Confirm:$False
VMを取得する
PS /root> Get-VM
Name PowerState Num CPUs MemoryGB
---- ---------- -------- --------
01_almalinux PoweredOn 2 8.000
02_almalinux PoweredOff 2 8.000
VMの起動・停止
起動(パワーオン)
PS /root> start-VM -vm {VM名}
停止(パワーオフ)
PS /root> Stop-VM -vm {VM名} -Confirm:$false
リセット
PS /root> Restart-VM -VM {VM名} -Confirm:$false
再起動
PS /root> Restart-VMGuest -vm {VM名}
シャットダウン
PS /root> Shutdown-VMGuest -vm {VM名}
無償版だと実行できない・・・!
以下のとおり、無償ライセンスだと実行できない旨のメッセージが表示される。
PS /root> start-VM -vm {VM名}
Start-VM: 2022/08/28 11:09:32 Start-VM Current license or ESXi version prohibits execution of the requested operation.
VMの詳細情報出力
VM指定して出力
PS /root> GET-VM 01_almalinux | select *
VM一括出力
PS /root> GET-VM | select *
VMのアップタイムを確認
PS /root> Get-Stat -entity {VM名} -stat sys.uptime.latest -MaxSamples 1
MetricId Timestamp Value Unit Instance
-------- --------- ----- ---- --------
sys.uptime.latest 2022/08/28 12:41:20 58677 second
データストア情報出力
PS /root> Get-DataStore
Name FreeSpaceGB CapacityGB
---- ----------- ----------
datastore1 609.260 825.750
詳細をCSVで出力する
PS /root> Get-VM | select * | export-csv -path /tmp/vmlist.csv
PS /root> ls /tmp
vmlist.csv
ハードディスク情報出力
一覧表示
PS /root> Get-VM | Get-HardDisk```
詳細表示
```PS
PS /root> Get-VM | Get-HardDisk | select *
ネットワークアダプタ表示
一覧表示
PS /root> Get-VM | Get-NetworkAdapter
詳細表示
PS /root> Get-VM | Get-NetworkAdapter | select *