Quantcast
Channel: VMware Communities : Document List - vSphere PowerCLI
Viewing all articles
Browse latest Browse all 379

PowerCLI script to clone and customize Linux guest OS

$
0
0

http://honglus.blogspot.com/2010/10/vsphere-powercli-script-to-clone-and.html

 

The script can clone Linux and assign ip addresses to multiple adapters.

 

There are 2 scripts

discover-info.ps1 Discovery information of target viserver/ESX host and generate template file to be used for clonevm.ps1

vmclone.ps1 clone after read information from template file generated by discover-info.ps1 script

The scripts has been tested in VMware vSphere PowerCLI 4.0 for VMs in ESX 3.5/ESX4.0 managed by Virtual Center Server.

 

Scripts in Action

 

PowerCLI # D:\Temp> .\discover-info.ps1Discovered ESX hosts:esx01 esx02

Please enter target ESX hostname: esx01

..

Template file: vmdata.txt has been generated. Edit the file then run 'clonevm.ps1 -f file-name' to start cloning

 

PowerCLI # D:\Temp> cat vmdata.txt (after customization)

============

#Discovered information

 

#PortGroups='Service Console' 'vlan-01' 'vlan-02'

#Folders='host' 'Discovered Virtual Machine' 'Datacenters' 'vm'

#DataStores= 'nfs_storage' 'esx01:storage1'

#resourcepools=Name: Resources ID:ResourcePool-resgroup-7 Name: Resources ID:ResourcePool-resgroup-65

####----


 

####----


Customize your VM values using the template

esxhost=esx01

##Resource pool id is NOT required for using virtual machine as source, but IS required for using template as source

#resourcepoolid=

#vm means Virtual Machine; vt means template ( resourcepoolid is required for vt)

SrcName=vm,linuxtemplate

DstName=pstest1

##Use vm as folder if no user folders defined

Folder=vm

DataStore=nfs_storage

##Gateway is optional, enter - to skip this value

##Networkadapter type is optional (Auto choosen for guest OS) , enter - to skip this value

##Supported adapter types: e.g e1000, Flexible, Vmxnet, EnhancedVmxnet

Network=EnhancedVmxnet,vlan-01 ,172.19.1.1,255.255.248.0,172.19.1.10 ; -,vlan-02,172.20.1.1,255.255.255.0,-

DNS=10.1.1.1,10.1.1.2

Domain=example.com

#Poweron=yes

 

 

PowerCLI # D:\Temp> .\clonevm.ps1 -f .\vmdata.txt

==> Retrieving info for source VM: linuxtemplate

==> Starting clone process ...

4% 10% 16% 21% 27% 33% 38% 45% 51% 57% 62% 68% 74% 79% 85% 91% %

Completed Task: Task-task-2366

==> Checking new VM ...

 

 

Name PowerState Num CPUs Memory (MB)

pstest1 PoweredOff 1 4096

==> Removing existing network adapters ...

==> Adding 2 new network adapters ...

..

==> Customizing guest OS ...

%

Completed Task: Task-task-2370

==> Checking new VM ...

pstest1 PoweredOff 1 4096

 

 


Viewing all articles
Browse latest Browse all 379

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>