1. 程式人生 > >PowerCLI腳本批量和一些常用自動化操作腳本

PowerCLI腳本批量和一些常用自動化操作腳本

user res https cor continue don pla redo 命令

一、使用指定模板批量創建虛擬機

#定義參數
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

PowerCLI腳本批量和一些常用自動化操作腳本