VMwarePowercli常用脚本.docx
VMwarePowerc1i常用脚本深圳市XXX有限公司2016年12月1.1 修改ESXI主神勺ROOT密码51.2 将本地文彳由专输到VM51.3 修改扇以机硬件版本51.4 查看信以机快照61.5 更改扇以机网卡61.6 批量开关窗以机61.7 批量撕化创拟机61.8 删除告警71.9 更新VCenter上的集群81.10 将主机添加进VCenter111.11 为主机添加及配置iSCSI端口111.12 添加及配置ESX1主机131.13 创建VMFSDatastore191.14 检索ESX1的网络信息211.15 修改虚拟机绑定的端口组251.16 创建新的VDS271.17 创建新的分布式交换机端口组271.18 杳看分布式交换机绑定的主机271.19 添加主机到分布式交换机281.20 配置分布式交换机端口组V1AN281.21 创建新的虚拟机281.22 为虚拟机添加VMXNET3网卡291.23 为虚拟机添加磁盘291.24 通过模板部署虚拟机291.25 通过模板及自定义规范部署虚拟机291.26 通过模板及自定义规范部署虚拟机,并检查是否有足够的可用空间301.27 重新注册虚拟机311.28 导拟机信息表321.29 批>J拟机321.30 更嵋拟懈认网关331.31 批量修改虚拟机IP信息331.32 Windows静默安装VMTOO1S341.33 Unux静默安装vmtoo1s351.34 批量安装vmtoo1s371.35 更新VMTOO1S38136将虚拟机转换成模板381.37 将虚拟机克隆成模板38138通过自定义规范为Windows绑定静态的IP地址381.39 更新虚拟机硬件版本391.40 关机更改虚拟机内存和VCPU391.41 通过磁盘拷贝的方式将磁盘从厚模式转换成瘦模式431.42 将一个数据存储上的所有虚拟机迁移到另一例据存储461.43 查找创建时间超过两个星期的快照及创建者491.1 修改ESXI主机的root密码SstrO1dRootPassword="vmware1!"$StrNeWROotPaSSWord="vmware2!"SarrHostsWithErrors=()Get-VMHostForEach-ObjectSConnectVIServer=Connect-VIServer-Server$_.Name-Userroot-PasswordSstroidRootPasswordSvMHostAccount=Snu11SvMHostAccount=Set-VMHostAccount-Server$_.Name-UserAccount(Get-VMHostAccount-Server$_.Name-Userroot)-PasswordSstrNewRootPasswordif($VMHostAccount-eq$nu11)-or($VMHostAccount.GetType().Name-ne"Host1jserAccountImp1")(SarrHostsWithEiTors+=$_.NameDisconnect-VIServer-Server$_.Name-ConfirmiSfa1se)1.2 将本地文件传输到VMJvm=Get-VM-NamevmnameGet-Item"C:Temp*.*"Copy-VMGuestFi1e-Destination-"C:Temp"-VM$vm-1oca1ToGuest-HostUserroot-HostPasswordpassword-GuestUseradministrator-GuestPasswordguestpassword13修改虚拟机硬件版本Set-VM-VMvm1-versionv9-confirm:$fa1se1.4 查看虚拟机快照Get-VMIGet-Snapshot#显示快照歹IJ表Get-VMIGet-Snapshotformat-1ist#详细显示快照信息1.5 更改虚拟机网卡Get-VMvmnameGet-NetworkAdapterWhere$_.Type-eq"E1000"SetNetworkAdapter-Typevmxnet31.6 批量开关虚拟机Sscope=1.50Snamestart="vm#打开50台虚拟机(从vm1到vm50)foreach($vin$scope)$name=$namestart+$vGet-VM-Name$nameStart-VM-Confirmfa1se1.7 批量模板化创建虚拟机New-vm-vmhostesxi-NameSVR02-Temp1ateWIN2008R2_Temp1ate-Datastoredatastore1-OSCustomizationspecWIN2008R2_Temp1ate命令中参数说明:- vmhost:VM生成的目标ESXi主机;-Name:生成的VM的名字;- Temp1ate:用于生成VM的模板主机;- Datastore:生成的虚拟机的存放数据存储;- OSCustomizationspec:定制化部署VM的prep目录- .8删除告警functionRemove-A1arm)<#.SYNOPSISRemovesoneormorea1arms.DESCRIPTIONThefunctionwi11removea11thea1armswhosenamematches.NOTESSource:AutomatingvSphereAdministrationAuthors:1ucDekens,Arnimvan1ieshout,JonathanMedd,A1anRenouf,G1ennSizemore.EXAMP1EPS>Remove-A1arm-Name"Book:MyA1arm".EXAMP1EPS>Remove-A1arm-Name"Book:*"#>param(string$Name)processSa1armMgr=Get-ViewA1armManagerSa1armMgEGetA1arm(Snu11)%$a1arm=Get-View$_if($a1arm.Info.Name-1ike$Name)Sa1arm1RemoveA1armO- .9更新vCenter上的集群functionUpdate-VCenterC1uster(<#.SYNOPSISPatchac1usterthatcontainsvCenterorVUMVMs.DESCRIPTIONPatchac1usterthatcontainsvCenterorVUMVMs.NOTESAuthors:1ucDekens&JonathanMedd.PARAMETERC1usterNameNameofc1ustertopatch.PARAMETERBase1ineNameNameofbase1inetouseforpatching.EXAMP1EUpdate-vCenterC1uster-C1usterNameC1usterO1-Base1ineName'ESXi4.0U2-Current'#>Cmd1etBindingOParam(parameter(Mandatory=STrue,He1pMessage=1Nameofc1ustertopatch')1StringSC1usterName,parameter(Mandatory=$True,He1pMessage=1Nameofbase1inetouseforpatching')1StringSBaseIineName)Sbase1ine=Get-Base1ine-NameSBase1ineName# FindVUMserverSextMgr=Get-ViewExtensionManagerSvumExt=SextMgr-Extension1istwhere$_.Key-eq"com.vmware.vc1ntegrity"SvumUR1=($vumExt.Serverwhere$_.Type-eq"SOAP").Ur1SvumSrv=(SvumUr1.Spt(7")2).Sp1it(,'f')0SvumSrvShort=$vumSrv.Sp1it(",")OSvumVM=Get-VM-NameSvumSrvShort# FindVCserverSvcSrvShort=SextMgr.C1ient.ServiceUr1.Sp1it(7',)2.Sp1it(".")0$VCVM=Get-VM-NameSvcSrvShort# Patchthec1usternodesShostTab=)Get-C1uster-NameSC1usterNameGet-VMHost%ShostTab$_.Name=$_ShostTab.Va1ues%$vm=$nu11if($_.Name-eq$vumVM.Host.Name)$vm=SvumVMif($_.Name-eq$vcVM.Host.Name)Svm=SvcVM)if($vm)So1dNode=$_SnewNode=ShostTab-Keyswhere$_-neSo1dNode.NameSe1ect-First1SvumVM=SvumVMMove-VM-DestinationSnewNode-ConfirmSfa1seRemediate-Inventory-Entity$_-Base1ineSbase1ine11o将主机添加进VCenter#AddourhosttovCenter,andimmediate1yenab1e1ockdownmode!SVMhost=Add-VMHost-NamevSphereO3.vSphere.1oca1'-Userroot'-Passwordpa22word'-1ocation(Get-Datacenter)'-ForceSet-VMHost1ockdown-Enab1e1I1为主机添加及配置iSCSI端口# AddiSCSIVMkerne1vNICSvSwitch=Ge1-Virtua1Switch-VMHostSVMHost-Name,vSwitchO,# wehavetofirstcreateapor1grouptobindourvNICto.SvPG=New-Virtua1PortGroup-NameiSCSI'-Virtua1SwitchSvSwitch'-V1anId55# CreateournewvNICintheiSCSIPGwejustcreated$vNIC=New-VMHostNetworkAdapter-VMHostSVMHost'-PortGroupiSCSI'-VirtuaISwitchSvSwitch-IP10