PowerCLIスクリプトのバッチおよび一般的な自動化操作スクリプト
一、指定されたテンプレートを使用して仮想マシンを一括作成する
二、一括再起動名前が似ている仮想マシンを実行している
#
param(
[string]$VMname,[string]$vmhostname,[string]$datastore,
[string]$template
)
# powercli
try{
add-pssnapin vmware.vimautomation.core -ErrorAction SilentlyContinue
}
catch{}
# Vsphere
Connect-VIServer -server Vsphere -Protocol https -User user -Password password
foreach ($i in 1..5)
{
$fullname = $VMname +"-"+ $i
new-vm -name $fullname -template $template -host $vmhostname -datastore $datastore
}
disconnect-viserver -confirm:$false
.\scriptfile.ps1 VMname vmhost datastore template
# , param
or
.\screptfile.ps1 -VMname vmname -template template -vmhostname vmhost -datastore datastore
# ,
二、一括再起動名前が似ている仮想マシンを実行している
# powercli
try{
add-pssnapin vmware.vimautomation.core -ErrorAction SilentlyContinue
}
catch{}
# Vsphere
Connect-VIServer -server Vsphere -Protocol https -User user -Password password
#
$matchname="^[a-zA-Z]+\d{5}([a-zA-Z]{1,4})?(\w)?([a-zA-Z]{3})?(\d+)?"
#
Get-Cluster -Name cluster |Get-VM |where {$_.Name -match $matchname -and $_.PowerState -eq "PoweredOn"} | Restart-VM -RunAsync
disconnect-viserver -confirm:$false