另存为xxx.ps1

##########################通过模版批量部署虚拟机以下内容需要人工定义变量#######################

#Vcenter的IP
$vcenterIP ="10.40.24.3"
#ESXI的IP
$vmhost="10.40.8.2"
#该ESXI对应的存储名称
$dataStore="8.2_RAID5"
#使用的克隆的模版名字
$vmTemplate="linux-template10.40.24.252B"
#计算机名的前缀,不要再加一个-
$vmName_prefix="lin-42-0"
#计算机IP的前缀,不要再加一个.
$vmIP_prefix ="10.42.0"
#计算机的子网掩码
$vmIP_mask ="255.255.255.0"
#计算机的网关
$vmIP_gateway ="10.42.0.254"
#虚拟机创建循环的步长
$vmIPstep =1
#虚拟机创建循环的起始IP地址
$IPstart=12
#虚拟机创建循环的结束IP地址
$IPEnd=12
#连接Vcenter的IP,帐号密码
Connect-VIServer  -Server $vcenterIP -User xxxx -Password xxxx
#查找自定义规范管理器里的模版
$custSysprep = Get-OSCustomizationSpec | where {$_.name -like "linux-vlan120"}
#想把虚拟机创建到哪个文件夹
$Location = "abc"
#设置当前虚拟机的网卡属于哪个vlan
$NetworkName = "vlan120"
##########################通过模版批量部署虚拟机以上内容需要人工定义变量#######################
 
#IP从哪个开始
$i=$IPstart
#当IP>当前循环IP,<循环IP,才继续执行
while (($i -ge $IPstart) -and ($i -le $IPEnd))
{
#拼接计算机IP
$vmIP="$vmIP_prefix.$i"
#拼接计算机名称
$vmName="$vmName_prefix-$i"
#修改自定义规范管理器里的模版内容,使用静态IP方式,IP地址,IP子网掩码,和网关
$custSysprep | Get-OSCustomizationNicMapping | Set-OSCustomizationNicMapping -IpMode UseStaticIP -IpAddress $vmIP -SubnetMask $vmIP_mask  -DefaultGateway $vmIP_gateway
#创建虚拟机,哪台ESXI,计算机名,模版,数据存储,自定义模版,以及创建到哪个文件夹下。
New-VM -vmhost $vmhost -Name $vmName -Template $vmTemplate -Datastore $dataStore -OSCustomizationspec $custSysprep -Location $Location
#设置当前虚拟机的网卡属于哪个vlan
Get-VM -Name $vmName | Get-NetworkAdapter | Set-NetworkAdapter -NetworkName $NetworkName -Confirm:$false
#启动当前虚拟机
Get-VM -Name $vmName | Start-VM
#循环增加一次
$i=$i+$vmIPstep
}
#恢复自定义规范管理器里的模版到默认情况,用户自定义IP。。。
$custSysprep | Get-OSCustomizationNicMapping | Set-OSCustomizationNicMapping -IpMode PromptUser -SubnetMask $vmIP_mask  -DefaultGateway $vmIP_gateway

最新文章

  1. [翻译svg教程]svg 中的g元素
  2. 将mac上的项目上传到oschina,进行代码托管。
  3. 【JMS】JMS之ActiveMQ的使用
  4. Ubuntu backlight
  5. BZOJ4157 : 星际瘟疫
  6. 广搜+打表 POJ 1426 Find The Multiple
  7. eclipse中复制项目更名注意事项
  8. CCF 201312-2 ISBN号码 (水题)
  9. lightoj 1033 区间dp
  10. block的一点知识
  11. Javascript获取浏览器版本
  12. 基于UDP协议的网络编程
  13. PHP学习笔记-session
  14. MYSQL中添加时间
  15. java字串加密
  16. 论文笔记(一)---翻译 Rich feature hierarchies for accurate object detection and semantic segmentation
  17. 【比赛打分展示双屏管理系统-加强版】的两个ini配置文件功能解释及排行榜滚动界面的简答配置等
  18. Python错误调试-raise、assert
  19. EWS 通过SubscribeToPullNotifications订阅Exchange删除邮件
  20. SVN回退版本

热门文章

  1. ORACLE telnet 1521 不通及ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务的解决
  2. 修改已经创建的docker容器的端口映射
  3. avalon 路由问题
  4. ul li列子
  5. bg-script 错误信息显示,以及global
  6. SVM实现分类识别及参数调优(一)
  7. HihoCoder - 1789:阶乘问题 (简单数学)
  8. HihoCoder - 1781: Another Bubble Sort (冒泡排序&amp;逆序对)
  9. CTF-练习平台-Misc之 MISC图穷匕见
  10. POJ1733 Parity game