So I am working on script to change to productlockerlocation on all of my VMware ESXi to create a centralized repository for VMware tools 10.0.0. I have created a script to dothis. My problem right now is how do I execute " jumpstart --plugin=libconfigure-locker.so" on the ESXi console. This command resets the productlocker without needing to reboot the hosts.
Thank you all for your help in advance.
#setting up powerCLIand connecting to Vcenters
CLS
& 'L:\powershell-script\archive\Initialize-PowerCLIEnvironment.ps1'
& 'L:\powershell-script\archive\a-start of script.ps1'
#this is to be run on a cluster base.itwill change the servers to point to a shared location.
##Variables for host and datastores
$ESXHost = Get-Content L:\powershell-script\locker.dat #enter host to change into thisdatfile
$cluster = 'compute-cluster' #enter cluster name
$DatastoreName = 'VOL011' #enter Datastore name for this pod
$folder = 'sharedtools'#folder to create
$hostname = 'iesxvm330' #host name to PSdrive to
#creating shared folder ondatastore
#Make the local datastore accessible as a PSdrive
New-PSDrive -Name $hostname -Root \ -PSProvider VimDatastore -Datastore (Get-Datastore $datastorename) -Scope global
#Access the new PSDrive
Set-Location $hostname":"
#Create the locker folder
New-Item $folder -ItemType directory
#copy data to folder
Copy-DatastoreItem L:\VMware-tools-windows-10.0.0-3000743.iso /$folder
#Set the advanced parameter to configure the locker on the datastore
#Loop through hosts
foreach($esx in $esxHost){
Write-Host 'doing it to' $esx 'on datastore' $DatastoreName
Get-AdvancedSetting-Entity $esx -Name UserVars.ProductLockerLocation |Set-AdvancedSetting-Value "/vmfs/volumes/$DatastoreName/SharedTools" -confirm:$false -whatif
jumpstart--plugin=libconfigure-locker.so
}
#cleanup time
& 'L:\powershell-script\archive\disconnector.ps1'
I'm afraid there is no API support for running jumpstart remotely.
So you would need to run the command from an ssh connection (e.g. through plink.exe) or by using my esxcli shell plugin https://vibsdepot.v-front.de/wiki/index.php/Esxcli-shell).
- Andreas
Can this be passed via the ESXCLI? I have hundreds of hosts that need this done to them.