PowerCLI脚本批量和一些常用自动化操作脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于PowerCLI脚本批量和一些常用自动化操作脚本的主要内容,如果未能解决你的问题,请参考以下文章

PowerCLI 通过vCenter批量快照所有的虚拟机

PowerCLI 通过vCenter 批量快照所有的虚拟机

PowerCLI 通过vCenter批量更改所有的esxi主机名称和DNS

PowerCLI 通过vCenter批量更改所有的esxi主机名称和DNS

PowerCLi 通过vCenter批量同步所有的esxi主机NTP时间

PowerCLI 通过vCenter 批量更改所有esxi 7 数据存储名称