Quantcast
Channel: VMware Communities: Message List
Viewing all articles
Browse latest Browse all 294344

Re: shutdown-vmguest runasync

$
0
0

Any idea why this is only taking line 1 from vms.txt?

 

 

Connect-VIServer xxxxxxx
$arrVMsToMove = @()
$VMs = Get-VM -Name (Get-Content -Path "C:\vms.txt")
foreach ($VM in $VMs){
$devicename = $VM.name
$vm_view = $VM |get-view
$vmstatus = $vm_view.summary.runtime.powerstate
$hwversion = $vm_view.Config.Version
#write $hwversion
#write $vmstatus
$vmtoolsstatus = $vm_view.summary.guest.toolsRunningStatus
#write $vmtoolsstatus
#write $devicename is $vmstatus
if($vmstatus -eq "PoweredOn" -And $vmtoolsstatus -eq “guestToolsRunning”)
{
Shutdown-VMGuest -VM $VM -Confirm:$false
}
if($vmstatus -eq "PoweredOn" -And $vmtoolsstatus -ne “guestToolsRunning”)
{
write " this is poweredoff"
stop-vm -RunAsync -VM $VM -Confirm:$false
}
if($vmstatus -eq "Suspended" -And $vmtoolsstatus -eq “guestToolsRunning”)
{
Shutdown-VMGuest -VM $VM -Confirm:$false
}
$arrVMsToMove += $VM
}
## sleep a bit to allow all desired guests to finish shutdown
Start-Sleep 60
## move given VMs to given destination
$arrVMsToMove | %{Move-VM -VM $VM -Destination xxxxxxxxxxxx -Confirm:$false -RunAsync}
## sleep a bit
Start-Sleep 5
## get the given VMs' NICs and set their NetworkName
$arrVMsToMove | %{Get-NetworkAdapter -VM $VM| Set-NetworkAdapter -NetworkName dvPG-vlan245 -Confirm:$false}
## start the given VMs
$arrVMsToMove | %{Start-VM -VM $VM -Confirm:$false -RunAsync}

Viewing all articles
Browse latest Browse all 294344

Trending Articles



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