<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Update Video Ram. Wait for task to complete before proceeding to next action. in VMware PowerCLI Discussions</title>
    <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/Update-Video-Ram-Wait-for-task-to-complete-before-proceeding-to/m-p/516316#M17161</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If there are client-side tasks, there will not be an Id property, hence the error.&lt;/P&gt;&lt;P&gt;Try changing those lines to&lt;/P&gt;&lt;P style="color: #333333; background-color: #fffffe; font-family: Consolas, 'Courier New', monospace; font-size: 15px;"&gt;&lt;/P&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff;"&gt;Get-Task&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;|&lt;/SPAN&gt; &lt;SPAN style="color: #00008b;"&gt;where&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;{$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;|&lt;/SPAN&gt; &lt;SPAN style="color: #00008b;"&gt;%&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 08 Oct 2019 17:47:09 GMT</pubDate>
    <dc:creator>LucD</dc:creator>
    <dc:date>2019-10-08T17:47:09Z</dc:date>
    <item>
      <title>Update Video Ram. Wait for task to complete before proceeding to next action.</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/Update-Video-Ram-Wait-for-task-to-complete-before-proceeding-to/m-p/516315#M17160</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all. My objective is the following:&lt;/P&gt;&lt;P&gt;1) Stop VM&lt;/P&gt;&lt;P&gt;2) Take snapshot&lt;/P&gt;&lt;P&gt;3) Update video ram to new value&lt;/P&gt;&lt;P&gt;4) Start VM&lt;/P&gt;&lt;P&gt;I want each task to be confirmed as complete before proceeding to the next task. &lt;/P&gt;&lt;P&gt;The VMs are in a CSV file.&lt;/P&gt;&lt;P&gt;The stop VM and take snapshot completes successfully. Although there's an error in the second part (screen output).&lt;/P&gt;&lt;P&gt;It doesn't actually update the video ram but just prints out the part stating the script will complete before powering on the VM and it gets stuck there because the VMs are actually not powered on.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The screen output is below:&lt;/P&gt;&lt;P&gt;*****************************************************************************************&lt;/P&gt;&lt;P&gt;PS C:\PowerCLI\scripts\set_video_ram&amp;gt; C:\PowerCLI\Scripts\set_video_ram\update_vram_poweroff_snapshot.ps1&lt;/P&gt;&lt;P&gt;vm1 is now being powered off. The script will confirm all VMs are powered off before proceeding to the next task...&lt;/P&gt;&lt;P&gt;vm2 is now being powered off. The script will confirm all VMs are powered off before proceeding to the next task...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PowerState Num CPUs MemoryGB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;----&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ---------- -------- --------&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;vm1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PoweredOff 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;Snapshot of vm1 is being taken before configuration change. The script will confirm all VM snapshots are complete before proceeding to the next task...&lt;/P&gt;&lt;P&gt;Exception calling "ContainsKey" with "1" argument(s): "Key cannot be null.&lt;/P&gt;&lt;P&gt;Parameter name: key"&lt;/P&gt;&lt;P&gt;At H:\PowerCLI\Scripts\set_video_ram\update_vram_poweroff_snapshot.ps1:68 char:2&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elseif($taskTab.ContainsKey($_.Id) -and $_.State -eq "Error"){&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; + CategoryInfo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : NotSpecified: (:) [], MethodInvocationException&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; + FullyQualifiedErrorId : ArgumentNullException&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PoweredOff 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;Snapshot of vm2 is being taken before configuration change. The script will confirm all VM snapshots are complete before proceeding to the next task...&lt;/P&gt;&lt;P&gt;Exception calling "ContainsKey" with "1" argument(s): "Key cannot be null.&lt;/P&gt;&lt;P&gt;Parameter name: key"&lt;/P&gt;&lt;P&gt;At H:\PowerCLI\Scripts\set_video_ram\update_vram_poweroff_snapshot.ps1:68 char:2&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elseif($taskTab.ContainsKey($_.Id) -and $_.State -eq "Error"){&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; + CategoryInfo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : NotSpecified: (:) [], MethodInvocationException&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; + FullyQualifiedErrorId : ArgumentNullException&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The scrript will wait for the configuration task to be complete before the VMs are powered on&lt;/P&gt;&lt;P&gt;The scrript will wait for the configuration task to be complete before the VMs are powered on&lt;/P&gt;&lt;P&gt;The scrript will wait for the configuration task to be complete before the VMs are powered on&lt;/P&gt;&lt;P&gt;The scrript will wait for the configuration task to be complete before the VMs are powered on&lt;/P&gt;&lt;P&gt;The scrript will wait for the configuration task to be complete before the VMs are powered on&lt;/P&gt;&lt;P&gt;The scrript will wait for the configuration task to be complete before the VMs are powered on&lt;/P&gt;&lt;P&gt;The scrript will wait for the configuration task to be complete before the VMs are powered on&lt;/P&gt;&lt;P&gt;The scrript will wait for the configuration task to be complete before the VMs are powered on&lt;/P&gt;&lt;P&gt;The scrript will wait for the configuration task to be complete before the VMs are powered on&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The script snippet is below:&lt;/P&gt;&lt;P&gt;***********************************************************************************&lt;/P&gt;&lt;P&gt;$newVideoRamSize = 9000&lt;/P&gt;&lt;P&gt;$vmlist = Import-Csv .\vmlist.csv -UseCulture&lt;/P&gt;&lt;P&gt;$vmlist1 = $vmlist | select -ExpandProperty VM&lt;/P&gt;&lt;P&gt;$taskTab = @{}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#Shutdown VMs&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach ($vm in $vmlist1) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #if($vm.Powerstate -eq "PoweredOn") { //FYI If this part is not commented out, the script will run without doing anything.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-Host $vm is now being powered off. The script will confirm all VMs are powered off before proceeding to the next task... -foregroundcolor green&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $taskTab[(Stop-VM -VM $vm -Confirm:$false -RunAsync).Id] = $vm&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;#}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#Take snapshot of VMs&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $runningTasks = $taskTab.Count&lt;/P&gt;&lt;P&gt;while($runningTasks -gt 0){&lt;/P&gt;&lt;P&gt;Get-Task | % {&lt;/P&gt;&lt;P&gt;if($taskTab.ContainsKey($_.Id) -and $_.State -eq "Success"){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Get-VM $taskTab[$_.Id]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-Host Snapshot of $taskTab[$_.Id] is being taken before configuration change. The script will confirm all VM snapshots are complete before proceeding to the next task... -foregroundcolor green&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $tasktab[(New-Snapshot -VM $taskTab[$_.Id] -Name BeforeVideoRamChange -RunAsync).Id] = $vm&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $taskTab.Remove($_.Id)&lt;/P&gt;&lt;P&gt;$runningTasks--&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;elseif($taskTab.ContainsKey($_.Id) -and $_.State -eq "Error"){&lt;/P&gt;&lt;P&gt;$taskTab.Remove($_.Id)&lt;/P&gt;&lt;P&gt;$runningTasks--&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;Start-Sleep -Seconds 15&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#Update Video Ram&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $runningTasks = $taskTab.Count&lt;/P&gt;&lt;P&gt;while($runningTasks -gt 0){&lt;/P&gt;&lt;P&gt;Get-Task | % {&lt;/P&gt;&lt;P&gt;if($taskTab.ContainsKey($_.Id) -and $_.State -eq "Success"){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Get-VM $taskTab[$_.Id]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if($taskTab[$_.Id].Powerstate -eq "PoweredOn") &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {return "One or more VMs is still powered on. Manually power off VMs before re-attempting."}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;$vid = $taskTab[$_.Id].ExtensionData.Config.Hardware.Device | ?{$_.GetType().Name -eq "VirtualMachineVideoCard"}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $spec = New-Object VMware.Vim.VirtualMachineConfigSpec&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $devChange = New-Object VMware.Vim.VirtualDeviceConfigSpec&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $devChange.Operation = 'edit'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $vid.videoRamSizeInKB = $newVideoRamSize&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((!$devChange.Operation) -or (!$vid.videoRamSizeInKB))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {return "ERROR: Unable to set video memory on $taskTab[$_.Id]}. Ensure it is powered off."}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Write-Host Video Memory on VM: $taskTab[$_.Id] has been successfully set to $vid.videoRamSizeInKB -foregroundcolor green&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;$devChange.Device += $vid&lt;/P&gt;&lt;P&gt;$spec.DeviceChange += $devChange&lt;/P&gt;&lt;P&gt;$taskTab[$_.Id].ExtensionData.ReconfigVM($spec)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $taskTab.Remove($_.Id)&lt;/P&gt;&lt;P&gt;$runningTasks--&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;elseif($taskTab.ContainsKey($_.Id) -and $_.State -eq "Error"){&lt;/P&gt;&lt;P&gt;$taskTab.Remove($_.Id)&lt;/P&gt;&lt;P&gt;$runningTasks--&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;Start-Sleep -Seconds 15&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;Write-Host The script will wait for the configuration task to be complete before the VMs are powered on -foregroundcolor green&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#Power on VMs&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $runningTasks = $taskTab.Count&lt;/P&gt;&lt;P&gt;while($runningTasks -gt 0){&lt;/P&gt;&lt;P&gt;Get-Task | % {&lt;/P&gt;&lt;P&gt;if($taskTab.ContainsKey($_.Id) -and $_.State -eq "Success"){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Get-VM $taskTab[$_.Id]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if($taskTab[$_.Id].Powerstate -eq "PoweredOff") {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-Host $taskTab[$_.Id] is now being powered on. Please wait five to ten minutes before verifying new configuration -foregroundcolor green&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $taskTab[(Start-VM -VM $taskTab[$_.Id] -Confirm:$false -RunAsync).Id] = $vm&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;*****************************************************************************************&lt;/P&gt;&lt;P&gt;Any help to point out the issues and/or fix the script would be greatly appreciated. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Oct 2019 16:58:12 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/Update-Video-Ram-Wait-for-task-to-complete-before-proceeding-to/m-p/516315#M17160</guid>
      <dc:creator>BBB36</dc:creator>
      <dc:date>2019-10-08T16:58:12Z</dc:date>
    </item>
    <item>
      <title>Re: Update Video Ram. Wait for task to complete before proceeding to next action.</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/Update-Video-Ram-Wait-for-task-to-complete-before-proceeding-to/m-p/516316#M17161</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If there are client-side tasks, there will not be an Id property, hence the error.&lt;/P&gt;&lt;P&gt;Try changing those lines to&lt;/P&gt;&lt;P style="color: #333333; background-color: #fffffe; font-family: Consolas, 'Courier New', monospace; font-size: 15px;"&gt;&lt;/P&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff;"&gt;Get-Task&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;|&lt;/SPAN&gt; &lt;SPAN style="color: #00008b;"&gt;where&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;{$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;|&lt;/SPAN&gt; &lt;SPAN style="color: #00008b;"&gt;%&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Oct 2019 17:47:09 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/Update-Video-Ram-Wait-for-task-to-complete-before-proceeding-to/m-p/516316#M17161</guid>
      <dc:creator>LucD</dc:creator>
      <dc:date>2019-10-08T17:47:09Z</dc:date>
    </item>
    <item>
      <title>Re: Update Video Ram. Wait for task to complete before proceeding to next action.</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/Update-Video-Ram-Wait-for-task-to-complete-before-proceeding-to/m-p/516317#M17162</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi LucD,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your response, and I appreciate your help always. I did make the changes as suggested but got the same errors. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Oct 2019 18:44:59 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/Update-Video-Ram-Wait-for-task-to-complete-before-proceeding-to/m-p/516317#M17162</guid>
      <dc:creator>BBB36</dc:creator>
      <dc:date>2019-10-08T18:44:59Z</dc:date>
    </item>
    <item>
      <title>Re: Update Video Ram. Wait for task to complete before proceeding to next action.</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/Update-Video-Ram-Wait-for-task-to-complete-before-proceeding-to/m-p/516318#M17163</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;There must be one or more tasks that do not have an Id.&lt;/P&gt;&lt;P&gt;Can you check with&lt;/P&gt;&lt;P style="color: #333333; background-color: #fffffe; font-family: Consolas, 'Courier New', monospace; font-size: 15px;"&gt;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN style="color: #0000ff;"&gt;Get-Task&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;|&lt;/SPAN&gt; Select Name&lt;SPAN style="color: #a9a9a9;"&gt;,&lt;/SPAN&gt;StartTime&lt;SPAN style="color: #a9a9a9;"&gt;,&lt;/SPAN&gt;Id &lt;P&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Oct 2019 18:54:05 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/Update-Video-Ram-Wait-for-task-to-complete-before-proceeding-to/m-p/516318#M17163</guid>
      <dc:creator>LucD</dc:creator>
      <dc:date>2019-10-08T18:54:05Z</dc:date>
    </item>
    <item>
      <title>Re: Update Video Ram. Wait for task to complete before proceeding to next action.</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/Update-Video-Ram-Wait-for-task-to-complete-before-proceeding-to/m-p/516319#M17164</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Do you mean logging in to the vCSA and running this?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PS C:\Users\myuserid&amp;gt; Get-Task | Select Name,StartTime,Id&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Result of the above here:&lt;/P&gt;&lt;P&gt;Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; StartTime&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Id&lt;/P&gt;&lt;P&gt;----&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ---------&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --&lt;/P&gt;&lt;P&gt;CloneVM_Task&amp;nbsp;&amp;nbsp;&amp;nbsp; 10/08/2019 15:04:16 Task-task-234068&lt;/P&gt;&lt;P&gt;UpgradeVM_Task&amp;nbsp; 10/08/2019 15:04:46 Task-task-234589&lt;/P&gt;&lt;P&gt;ReconfigVM_Task 10/08/2019 15:04:57 Task-task-234565&lt;/P&gt;&lt;P&gt;ReconfigVM_Task 10/08/2019 15:05:13 Task-task-234665&lt;/P&gt;&lt;P&gt;CloneVM_Task&amp;nbsp;&amp;nbsp;&amp;nbsp; 10/08/2019 15:05:33 Task-task-234555&lt;/P&gt;&lt;P&gt;UpgradeVM_Task&amp;nbsp; 10/08/2019 15:05:53 Task-task-233445&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Or do you mean I need to update the script with the Get-Task | Select Name,StartTime,Id?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Oct 2019 19:17:44 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/Update-Video-Ram-Wait-for-task-to-complete-before-proceeding-to/m-p/516319#M17164</guid>
      <dc:creator>BBB36</dc:creator>
      <dc:date>2019-10-08T19:17:44Z</dc:date>
    </item>
    <item>
      <title>Re: Update Video Ram. Wait for task to complete before proceeding to next action.</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/Update-Video-Ram-Wait-for-task-to-complete-before-proceeding-to/m-p/516320#M17165</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I had another look at your script, and there is a brace too much after the if-statement.&lt;BR /&gt;The elseif part was not inside the foreach block.&lt;BR /&gt;Change the code to&lt;/P&gt;&lt;P style="color: #333333; background-color: #fffffe; font-family: Consolas, 'Courier New', monospace; font-size: 15px;"&gt;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN style="color: #006400; font-style: italic;"&gt;#Take snapshot of VMs&lt;/SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;runningTasks&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab.Count&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #00008b;"&gt;while&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;runningTasks&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-gt&lt;/SPAN&gt; &lt;SPAN style="color: #800080;"&gt;0&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff;"&gt;Get-Task&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;|&lt;/SPAN&gt; &lt;SPAN style="color: #00008b;"&gt;%&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #00008b;"&gt;if&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab.ContainsKey&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-and&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.State&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-eq&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #8b0000;"&gt;Success&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff;"&gt;Get-VM&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;[$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;]&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff;"&gt;Write-Host&lt;/SPAN&gt; Snapshot of &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;[$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;]&lt;/SPAN&gt; is being taken before configuration change. The script will confirm all VM snapshots are complete before proceeding to the next task..&lt;SPAN style="color: #a9a9a9;"&gt;.&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;foregroundcolor green&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;tasktab&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;[(&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;New-Snapshot&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;VM &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;[$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;]&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;Name BeforeVideoRamChange &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;RunAsync&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt;.&lt;SPAN style="color: #00008b;"&gt;Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;]&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vm&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab.Remove&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;runningTasks&lt;/SPAN&gt;&lt;SPAN style="color: #a9a9a9;"&gt;--&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;} # Removed extra brace &amp;lt;===&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #00008b;"&gt;elseif&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab.ContainsKey&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-and&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.State&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-eq&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #8b0000;"&gt;Error&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab.Remove&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;runningTasks&lt;/SPAN&gt;&lt;SPAN style="color: #a9a9a9;"&gt;--&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff;"&gt;Start-Sleep&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;Seconds &lt;SPAN style="color: #800080;"&gt;15&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Oct 2019 19:28:17 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/Update-Video-Ram-Wait-for-task-to-complete-before-proceeding-to/m-p/516320#M17165</guid>
      <dc:creator>LucD</dc:creator>
      <dc:date>2019-10-08T19:28:17Z</dc:date>
    </item>
    <item>
      <title>Re: Update Video Ram. Wait for task to complete before proceeding to next action.</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/Update-Video-Ram-Wait-for-task-to-complete-before-proceeding-to/m-p/516321#M17166</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hmm. Tried that but it says it's missing a closing brace. See attached &lt;span class="lia-inline-image-display-wrapper" image-alt="Capture.PNG"&gt;&lt;img src="https://communities.vmware.com/t5/image/serverpage/image-id/14582i1595FCD75F97E253/image-size/large?v=v2&amp;amp;px=999" role="button" title="Capture.PNG" alt="Capture.PNG" /&gt;&lt;/span&gt;image. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Oct 2019 19:59:29 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/Update-Video-Ram-Wait-for-task-to-complete-before-proceeding-to/m-p/516321#M17166</guid>
      <dc:creator>BBB36</dc:creator>
      <dc:date>2019-10-08T19:59:29Z</dc:date>
    </item>
    <item>
      <title>Re: Update Video Ram. Wait for task to complete before proceeding to next action.</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/Update-Video-Ram-Wait-for-task-to-complete-before-proceeding-to/m-p/516322#M17167</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;When you take a brace away there, you have to add one at the end.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;newVideoRamSize&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #800080;"&gt;9000&lt;/SPAN&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vmlist&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff;"&gt;Import-Csv&lt;/SPAN&gt; .\vmlist.csv &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;UseCulture&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vmlist1&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vmlist&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;|&lt;/SPAN&gt; select &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;ExpandProperty VM&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #00008b;"&gt;@&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #006400; font-style: italic;"&gt;#Shutdown VMs&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #00008b;"&gt;foreach&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vm&lt;/SPAN&gt; &lt;SPAN style="color: #00008b;"&gt;in&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vmlist1&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #006400; font-style: italic;"&gt;#if($vm.Powerstate -eq "PoweredOn") { //FYI If this part is not commented out, the script will run without doing anything.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff;"&gt;Write-Host&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vm&lt;/SPAN&gt; is now being powered off. The script will confirm all VMs are powered off before proceeding to the next task..&lt;SPAN style="color: #a9a9a9;"&gt;.&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;foregroundcolor green&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;[(&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;Stop-VM&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;VM &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vm&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;Confirm:&lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #008080;"&gt;false&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;RunAsync&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt;.&lt;SPAN style="color: #00008b;"&gt;Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;]&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vm&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #006400; font-style: italic;"&gt;#}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #006400; font-style: italic;"&gt;#Take snapshot of VMs&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;runningTasks&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab.Count&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #00008b;"&gt;while&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;runningTasks&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-gt&lt;/SPAN&gt; &lt;SPAN style="color: #800080;"&gt;0&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff;"&gt;Get-Task&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;|&lt;/SPAN&gt; &lt;SPAN style="color: #00008b;"&gt;%&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #00008b;"&gt;if&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab.ContainsKey&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-and&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.State&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-eq&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #8b0000;"&gt;Success&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff;"&gt;Get-VM&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;[$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;]&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff;"&gt;Write-Host&lt;/SPAN&gt; Snapshot of &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;[$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;]&lt;/SPAN&gt; is being taken before configuration change. The script will confirm all VM snapshots are complete before proceeding to the next task..&lt;SPAN style="color: #a9a9a9;"&gt;.&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;foregroundcolor green&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;tasktab&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;[(&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;New-Snapshot&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;VM &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;[$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;]&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;Name BeforeVideoRamChange &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;RunAsync&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt;.&lt;SPAN style="color: #00008b;"&gt;Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;]&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vm&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab.Remove&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;runningTasks&lt;/SPAN&gt;&lt;SPAN style="color: #a9a9a9;"&gt;--&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #00008b;"&gt;elseif&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab.ContainsKey&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-and&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.State&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-eq&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #8b0000;"&gt;Error&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab.Remove&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;runningTasks&lt;/SPAN&gt;&lt;SPAN style="color: #a9a9a9;"&gt;--&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff;"&gt;Start-Sleep&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;Seconds &lt;SPAN style="color: #800080;"&gt;15&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #006400; font-style: italic;"&gt;#Update Video Ram&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;runningTasks&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab.Count&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #00008b;"&gt;while&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;runningTasks&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-gt&lt;/SPAN&gt; &lt;SPAN style="color: #800080;"&gt;0&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff;"&gt;Get-Task&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;|&lt;/SPAN&gt; &lt;SPAN style="color: #00008b;"&gt;%&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #00008b;"&gt;if&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab.ContainsKey&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-and&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.State&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-eq&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #8b0000;"&gt;Success&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff;"&gt;Get-VM&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;[$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;]&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #00008b;"&gt;if&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;[$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;]&lt;/SPAN&gt;.Powerstate &lt;SPAN style="color: #a9a9a9;"&gt;-eq&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #8b0000;"&gt;PoweredOn&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #00008b;"&gt;return&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #8b0000;"&gt;One or more VMs is still powered on. Manually power off VMs before re-attempting.&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vid&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;[$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;]&lt;/SPAN&gt;.ExtensionData.Config.Hardware.Device &lt;SPAN style="color: #a9a9a9;"&gt;|&lt;/SPAN&gt; &lt;SPAN style="color: #00008b;"&gt;?&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.GetType&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;()&lt;/SPAN&gt;.Name &lt;SPAN style="color: #a9a9a9;"&gt;-eq&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #8b0000;"&gt;VirtualMachineVideoCard&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;spec&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff;"&gt;New-Object&lt;/SPAN&gt; VMware.Vim.VirtualMachineConfigSpec&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;devChange&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff;"&gt;New-Object&lt;/SPAN&gt; VMware.Vim.VirtualDeviceConfigSpec&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;devChange.Operation&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #8b0000;"&gt;edit&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vid.videoRamSizeInKB&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;newVideoRamSize&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #00008b;"&gt;if&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;((&lt;/SPAN&gt;&lt;SPAN style="color: #a9a9a9;"&gt;!&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;devChange.Operation&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-or&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #a9a9a9;"&gt;!&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vid.videoRamSizeInKB&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)){&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #00008b;"&gt;return&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #8b0000;"&gt;ERROR: Unable to set video memory on &lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab&lt;/SPAN&gt;&lt;SPAN style="color: #8b0000;"&gt;[&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_&lt;/SPAN&gt;&lt;SPAN style="color: #8b0000;"&gt;.Id]}. Ensure it is powered off.&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff;"&gt;Write-Host&lt;/SPAN&gt; Video Memory on VM: &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;[$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;]&lt;/SPAN&gt; has been successfully set to &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vid.videoRamSizeInKB&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;foregroundcolor green&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;devChange.Device&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;+=&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vid&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;spec.DeviceChange&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;+=&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;devChange&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;[$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;]&lt;/SPAN&gt;.ExtensionData.ReconfigVM&lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;spec&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab.Remove&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;runningTasks&lt;/SPAN&gt;&lt;SPAN style="color: #a9a9a9;"&gt;--&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #00008b;"&gt;elseif&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab.ContainsKey&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-and&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.State&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-eq&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #8b0000;"&gt;Error&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab.Remove&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;runningTasks&lt;/SPAN&gt;&lt;SPAN style="color: #a9a9a9;"&gt;--&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff;"&gt;Start-Sleep&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;Seconds &lt;SPAN style="color: #800080;"&gt;15&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff;"&gt;Write-Host&lt;/SPAN&gt; The script will wait &lt;SPAN style="color: #00008b;"&gt;for&lt;/SPAN&gt; the configuration task to be complete before the VMs are powered on &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;foregroundcolor green&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #006400; font-style: italic;"&gt;#Power on VMs&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;runningTasks&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab.Count&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #00008b;"&gt;while&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;runningTasks&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-gt&lt;/SPAN&gt; &lt;SPAN style="color: #800080;"&gt;0&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff;"&gt;Get-Task&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;|&lt;/SPAN&gt; &lt;SPAN style="color: #00008b;"&gt;%&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #00008b;"&gt;if&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab.ContainsKey&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-and&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.State&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-eq&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #8b0000;"&gt;Success&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff;"&gt;Get-VM&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;[$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;]&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #00008b;"&gt;if&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;[$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;]&lt;/SPAN&gt;.Powerstate &lt;SPAN style="color: #a9a9a9;"&gt;-eq&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #8b0000;"&gt;PoweredOff&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff;"&gt;Write-Host&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;[$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;]&lt;/SPAN&gt; is now being powered on. Please wait five to ten minutes before verifying new configuration &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;foregroundcolor green&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;[(&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;Start-VM&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;VM &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;[$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;]&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;Confirm:&lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #008080;"&gt;false&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;RunAsync&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt;.&lt;SPAN style="color: #00008b;"&gt;Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;]&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vm&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Oct 2019 20:06:41 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/Update-Video-Ram-Wait-for-task-to-complete-before-proceeding-to/m-p/516322#M17167</guid>
      <dc:creator>LucD</dc:creator>
      <dc:date>2019-10-08T20:06:41Z</dc:date>
    </item>
    <item>
      <title>Re: Update Video Ram. Wait for task to complete before proceeding to next action.</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/Update-Video-Ram-Wait-for-task-to-complete-before-proceeding-to/m-p/516323#M17168</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yep. You're right. I updated the script. Thank you.&lt;/P&gt;&lt;P&gt;It took only the snapshot of one of the 2 VMs though. Also, now it's just stuck at "The script will wait for the configuration task to be complete before the VMs are powered on" and doesn't progress to update the video ram and start up the VMs. See results below. Any ideas?&lt;/P&gt;&lt;P&gt;*********************************************************************************************&lt;/P&gt;&lt;P&gt;PS C:\PowerCLI\&amp;gt; C:\PowerCLI\update_vram_poweroff_snapshot.ps1&lt;/P&gt;&lt;P&gt;VM1 is now being powered off. The script will confirm all VMs are powered off before proceeding to the next task...&lt;/P&gt;&lt;P&gt;VM2 is now being powered off. The script will confirm all VMs are powered off before proceeding to the next task...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PowerState Num CPUs MemoryGB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;----&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ---------- -------- --------&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;VM1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PoweredOff 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;Snapshot of VM1 is being taken before configuration change. The script will confirm all VM snapshots are complete before proceeding to the next task...&lt;/P&gt;&lt;P&gt;The script will wait for the configuration task to be complete before the VMs are powered on&lt;/P&gt;&lt;P&gt;The script will wait for the configuration task to be complete before the VMs are powered on&lt;/P&gt;&lt;P&gt;The script will wait for the configuration task to be complete before the VMs are powered on&lt;/P&gt;&lt;P&gt;The script will wait for the configuration task to be complete before the VMs are powered on&lt;/P&gt;&lt;P&gt;The script will wait for the configuration task to be complete before the VMs are powered on&lt;/P&gt;&lt;P&gt;The script will wait for the configuration task to be complete before the VMs are powered on&lt;/P&gt;&lt;P&gt;The script will wait for the configuration task to be complete before the VMs are powered on&lt;/P&gt;&lt;P&gt;The script will wait for the configuration task to be complete before the VMs are powered on&lt;/P&gt;&lt;P&gt;The script will wait for the configuration task to be complete before the VMs are powered on&lt;/P&gt;&lt;P&gt;The script will wait for the configuration task to be complete before the VMs are powered on&lt;/P&gt;&lt;P&gt;The script will wait for the configuration task to be complete before the VMs are powered on&lt;/P&gt;&lt;P&gt;The script will wait for the configuration task to be complete before the VMs are powered on&lt;/P&gt;&lt;P&gt;The script will wait for the configuration task to be complete before the VMs are powered on&lt;/P&gt;&lt;P&gt;The script will wait for the configuration task to be complete before the VMs are powered on&lt;/P&gt;&lt;P&gt;The script will wait for the configuration task to be complete before the VMs are powered on&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PS C:\PowerCLI\&amp;gt; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Oct 2019 21:43:58 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/Update-Video-Ram-Wait-for-task-to-complete-before-proceeding-to/m-p/516323#M17168</guid>
      <dc:creator>BBB36</dc:creator>
      <dc:date>2019-10-08T21:43:58Z</dc:date>
    </item>
    <item>
      <title>Re: Update Video Ram. Wait for task to complete before proceeding to next action.</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/Update-Video-Ram-Wait-for-task-to-complete-before-proceeding-to/m-p/516324#M17169</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Do I need to change this:&lt;/P&gt;&lt;P&gt;$_.Id) -and $_.State -eq "Success") to this:&lt;/P&gt;&lt;P&gt;$_.Status) -and $_.State -eq "Completed") to match the tab name and actual results in vCenter tasks perhaps?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Oct 2019 21:47:58 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/Update-Video-Ram-Wait-for-task-to-complete-before-proceeding-to/m-p/516324#M17169</guid>
      <dc:creator>BBB36</dc:creator>
      <dc:date>2019-10-08T21:47:58Z</dc:date>
    </item>
    <item>
      <title>Re: Update Video Ram. Wait for task to complete before proceeding to next action.</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/Update-Video-Ram-Wait-for-task-to-complete-before-proceeding-to/m-p/516325#M17170</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'd also like to add, I have another version of this script, which actually does everything but I don't think the wait-task works. Here it is:&lt;/P&gt;&lt;P&gt;******************************************************************************************************************************************************&lt;/P&gt;&lt;P&gt;$newVideoRamSize = 9000&lt;/P&gt;&lt;P&gt;$vmlist1 = $vmlist | select -ExpandProperty VM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#Shutdown VMs&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach ($vm in $vmlist1) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $guestname = Get-VM $vm&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if($guestname.Powerstate -eq "PoweredOn") {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-Host $guestname is now being powered off. The script will confirm all VMs are powered off before proceeding to the next task... -foregroundcolor green&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $shutvmtask = Stop-VM -VM $guestname -Confirm:$false -RunAsync | Out-Null }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Wait-Task $shutvmtask &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Start-Sleep -Seconds 15&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#Take snapshot of VMs&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach ($vm in $vmlist1) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $guestname = Get-VM $vm&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-Host Snapshot of $guestname is being taken before configuration change. The script will confirm all VM snapshots are complete before proceeding to the next task... -foregroundcolor green&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $snapshotvmtask = New-Snapshot -VM $guestname -Name BeforeVideoRamChange -RunAsync | Out-Null }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Wait-Task $snapshotvmtask&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Start-Sleep -Seconds 15&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#Update Video Ram&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach ($vm in $vmlist1) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $guestname = Get-VM $vm&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if($guestname.Powerstate -eq "PoweredOn") &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {return "One or more VMs is still powered on. Manually power off VMs before re-attempting."}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $vid = $guestname.ExtensionData.Config.Hardware.Device | ?{$_.GetType().Name -eq "VirtualMachineVideoCard"}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $spec = New-Object VMware.Vim.VirtualMachineConfigSpec&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $devChange = New-Object VMware.Vim.VirtualDeviceConfigSpec&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $devChange.Operation = 'edit'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $vid.videoRamSizeInKB = $newVideoRamSize&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((!$devChange.Operation) -or (!$vid.videoRamSizeInKB))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {return "ERROR: Unable to set video memory on $guestname}. Ensure it is powered off."}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Write-Host Video Memory on VM: $guestname has been successfully set to $vid.videoRamSizeInKB -foregroundcolor green&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;$devChange.Device += $vid&lt;/P&gt;&lt;P&gt;$spec.DeviceChange += $devChange&lt;/P&gt;&lt;P&gt;$vramconfigtask = $guestname.ExtensionData.ReconfigVM($spec)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Wait-Task $vramconfigtask&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Start-Sleep -Seconds 15&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-Host The script will wait for the configuration task to be complete before the VMs are powered on -foregroundcolor green&lt;/P&gt;&lt;P&gt;} &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#Power on VMs&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach ($vm in $vmlist1) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $guestname = Get-VM $vm&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if($guestname.Powerstate -eq "PoweredOff") {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-Host $guestname is now being powered on. Please wait five to ten minutes before verifying new configuration -foregroundcolor green&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Start-VM -VM $guestname -Confirm:$false -RunAsync | Out-Null }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******************************************************************************************************************************************************&lt;/P&gt;&lt;P&gt;The output is below:&lt;/P&gt;&lt;P&gt;******************************************************************************************************************************************************&lt;/P&gt;&lt;P&gt;VM1 is now being powered off. The script will confirm all VMs are powered off before proceeding to the next task...&lt;/P&gt;&lt;P&gt;Wait-Task : Cannot validate argument on parameter 'Task'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.&lt;/P&gt;&lt;P&gt;At C:\PowerCLI\update_vram_poweroff_snapshot-Copy.ps1:53 char:15&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Wait-Task $shutvmtask&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ~~~~~~~~~~~&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; + CategoryInfo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : InvalidData: (:) [Wait-Task], ParameterBindingValidationException&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; + FullyQualifiedErrorId : ParameterArgumentValidationError,VMware.VimAutomation.ViCore.Cmdlets.Commands.WaitTask&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;VM2 is now being powered off. The script will confirm all VMs are powered off before proceeding to the next task...&lt;/P&gt;&lt;P&gt;Wait-Task : Cannot validate argument on parameter 'Task'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.&lt;/P&gt;&lt;P&gt;At C:\PowerCLI\update_vram_poweroff_snapshot-Copy.ps1:53 char:15&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Wait-Task $shutvmtask&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ~~~~~~~~~~~&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; + CategoryInfo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : InvalidData: (:) [Wait-Task], ParameterBindingValidationException&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; + FullyQualifiedErrorId : ParameterArgumentValidationError,VMware.VimAutomation.ViCore.Cmdlets.Commands.WaitTask&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Snapshot of VM1 is being taken before configuration change. The script will confirm all VM snapshots are complete before proceeding to the next task...&lt;/P&gt;&lt;P&gt;Snapshot of VM2 is being taken before configuration change. The script will confirm all VM snapshots are complete before proceeding to the next task...&lt;/P&gt;&lt;P&gt;Wait-Task : Cannot validate argument on parameter 'Task'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.&lt;/P&gt;&lt;P&gt;At C:\PowerCLI\update_vram_poweroff_snapshot-Copy.ps1:62 char:15&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Wait-Task $snapshotvmtask&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ~~~~~~~~~~~~~~~&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; + CategoryInfo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : InvalidData: (:) [Wait-Task], ParameterBindingValidationException&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; + FullyQualifiedErrorId : ParameterArgumentValidationError,VMware.VimAutomation.ViCore.Cmdlets.Commands.WaitTask&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Video Memory on VM: VM1 has been successfully set to 9000&lt;/P&gt;&lt;P&gt;Wait-Task : Cannot validate argument on parameter 'Task'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.&lt;/P&gt;&lt;P&gt;At C:\PowerCLI\update_vram_poweroff_snapshot-Copy.ps1:85 char:19&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Wait-Task $vramconfigtask&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ~~~~~~~~~~~~~~~&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; + CategoryInfo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : InvalidData: (:) [Wait-Task], ParameterBindingValidationException&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; + FullyQualifiedErrorId : ParameterArgumentValidationError,VMware.VimAutomation.ViCore.Cmdlets.Commands.WaitTask&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The scrript will wait for the configuration task to be complete before the VMs are powered on&lt;/P&gt;&lt;P&gt;Video Memory on VM: VM2 has been successfully set to 9000&lt;/P&gt;&lt;P&gt;Wait-Task : Cannot validate argument on parameter 'Task'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.&lt;/P&gt;&lt;P&gt;At C:\PowerCLI\update_vram_poweroff_snapshot-Copy.ps1:85 char:19&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Wait-Task $vramconfigtask&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ~~~~~~~~~~~~~~~&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; + CategoryInfo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : InvalidData: (:) [Wait-Task], ParameterBindingValidationException&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; + FullyQualifiedErrorId : ParameterArgumentValidationError,VMware.VimAutomation.ViCore.Cmdlets.Commands.WaitTask&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The scrript will wait for the configuration task to be complete before the VMs are powered on&lt;/P&gt;&lt;P&gt;VM1 is now being powered on. Please wait five to ten minutes before verifying new configuration&lt;/P&gt;&lt;P&gt;VM2 is now being powered on. Please wait five to ten minutes before verifying new configuration&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Oct 2019 21:56:07 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/Update-Video-Ram-Wait-for-task-to-complete-before-proceeding-to/m-p/516325#M17170</guid>
      <dc:creator>BBB36</dc:creator>
      <dc:date>2019-10-08T21:56:07Z</dc:date>
    </item>
    <item>
      <title>Re: Update Video Ram. Wait for task to complete before proceeding to next action.</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/Update-Video-Ram-Wait-for-task-to-complete-before-proceeding-to/m-p/516326#M17171</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The issue is most likely because you the VirtualMachine in the hash table (with the Key of the TakId).&lt;/P&gt;&lt;P&gt;But such a VirtualMachine object is not updated automatically.&lt;/P&gt;&lt;P&gt;You will for example not see that the powerstate of the VM has changed.&lt;/P&gt;&lt;P&gt;For that you have to 'refresh' the object, by doing a new Get-VM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Something like this&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;newVideoRamSize&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #800080;"&gt;9000&lt;/SPAN&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vmlist&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff;"&gt;Import-Csv&lt;/SPAN&gt; .\vmlist.csv &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;UseCulture&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vmlist1&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vmlist&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;|&lt;/SPAN&gt; select &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;ExpandProperty VM&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #00008b;"&gt;@&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #006400; font-style: italic;"&gt;#Shutdown VMs&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #00008b;"&gt;foreach&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vm&lt;/SPAN&gt; &lt;SPAN style="color: #00008b;"&gt;in&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vmlist1&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #006400; font-style: italic;"&gt;#if($vm.Powerstate -eq "PoweredOn") { //FYI If this part is not commented out, the script will run without doing anything.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff;"&gt;Write-Host&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vm&lt;/SPAN&gt; is now being powered off. The script will confirm all VMs are powered off before proceeding to the next task..&lt;SPAN style="color: #a9a9a9;"&gt;.&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;foregroundcolor green&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;[(&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;Stop-VM&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;VM &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vm&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;Confirm:&lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #008080;"&gt;false&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;RunAsync&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt;.&lt;SPAN style="color: #00008b;"&gt;Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;]&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vm&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #006400; font-style: italic;"&gt;#}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #006400; font-style: italic;"&gt;#Take snapshot of VMs&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;runningTasks&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab.Count&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #00008b;"&gt;while&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;runningTasks&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-gt&lt;/SPAN&gt; &lt;SPAN style="color: #800080;"&gt;0&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff;"&gt;Get-Task&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;|&lt;/SPAN&gt; &lt;SPAN style="color: #00008b;"&gt;%&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #00008b;"&gt;if&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab.ContainsKey&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-and&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.State&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-eq&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #8b0000;"&gt;Success&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vm&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff;"&gt;Get-VM&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;[$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;]&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff;"&gt;Write-Host&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #8b0000;"&gt;Snapshot of &lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;$($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vm.Name&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #8b0000;"&gt; is being taken before configuration change. The script will confirm all VM snapshots are complete before proceeding to the next task...&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;foregroundcolor green&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;tasktab&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;[(&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;New-Snapshot&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;VM &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vm&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;Name BeforeVideoRamChange &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;RunAsync&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt;.&lt;SPAN style="color: #00008b;"&gt;Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;]&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vm&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab.Remove&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;runningTasks&lt;/SPAN&gt;&lt;SPAN style="color: #a9a9a9;"&gt;--&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #00008b;"&gt;elseif&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab.ContainsKey&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-and&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.State&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-eq&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #8b0000;"&gt;Error&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab.Remove&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;runningTasks&lt;/SPAN&gt;&lt;SPAN style="color: #a9a9a9;"&gt;--&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff;"&gt;Start-Sleep&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;Seconds &lt;SPAN style="color: #800080;"&gt;15&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #006400; font-style: italic;"&gt;#Update Video Ram&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;runningTasks&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab.Count&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #00008b;"&gt;while&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;runningTasks&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-gt&lt;/SPAN&gt; &lt;SPAN style="color: #800080;"&gt;0&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff;"&gt;Get-Task&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;|&lt;/SPAN&gt; &lt;SPAN style="color: #00008b;"&gt;%&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #00008b;"&gt;if&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab.ContainsKey&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-and&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.State&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-eq&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #8b0000;"&gt;Success&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vm&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff;"&gt;Get-VM&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;Name &lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;[$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;])&lt;/SPAN&gt;.Name&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #00008b;"&gt;if&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vm.Powerstate&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-eq&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #8b0000;"&gt;PoweredOn&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #00008b;"&gt;return&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #8b0000;"&gt;One or more VMs is still powered on. Manually power off VMs before re-attempting.&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vid&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vm.ExtensionData.Config.Hardware.Device&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;|&lt;/SPAN&gt; &lt;SPAN style="color: #00008b;"&gt;?&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.GetType&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;()&lt;/SPAN&gt;.Name &lt;SPAN style="color: #a9a9a9;"&gt;-eq&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #8b0000;"&gt;VirtualMachineVideoCard&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;spec&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff;"&gt;New-Object&lt;/SPAN&gt; VMware.Vim.VirtualMachineConfigSpec&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;devChange&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff;"&gt;New-Object&lt;/SPAN&gt; VMware.Vim.VirtualDeviceConfigSpec&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;devChange.Operation&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #8b0000;"&gt;edit&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vid.videoRamSizeInKB&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;newVideoRamSize&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #00008b;"&gt;if&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;((&lt;/SPAN&gt;&lt;SPAN style="color: #a9a9a9;"&gt;!&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;devChange.Operation&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-or&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #a9a9a9;"&gt;!&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vid.videoRamSizeInKB&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)){&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #00008b;"&gt;return&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #8b0000;"&gt;ERROR: Unable to set video memory on &lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab&lt;/SPAN&gt;&lt;SPAN style="color: #8b0000;"&gt;[&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_&lt;/SPAN&gt;&lt;SPAN style="color: #8b0000;"&gt;.Id]}. Ensure it is powered off.&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff;"&gt;Write-Host&lt;/SPAN&gt; Video Memory on VM: &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;[$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;]&lt;/SPAN&gt; has been successfully set to &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vid.videoRamSizeInKB&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;foregroundcolor green&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;devChange.Device&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;+=&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vid&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;spec.DeviceChange&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;+=&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;devChange&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vm.ExtensionData.ReconfigVM&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;spec&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab.Remove&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;runningTasks&lt;/SPAN&gt;&lt;SPAN style="color: #a9a9a9;"&gt;--&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #00008b;"&gt;elseif&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab.ContainsKey&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-and&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.State&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-eq&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #8b0000;"&gt;Error&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab.Remove&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;runningTasks&lt;/SPAN&gt;&lt;SPAN style="color: #a9a9a9;"&gt;--&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff;"&gt;Start-Sleep&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;Seconds &lt;SPAN style="color: #800080;"&gt;15&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff;"&gt;Write-Host&lt;/SPAN&gt; The script will wait &lt;SPAN style="color: #00008b;"&gt;for&lt;/SPAN&gt; the configuration task to be complete before the VMs are powered on &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;foregroundcolor green&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #006400; font-style: italic;"&gt;#Power on VMs&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;runningTasks&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab.Count&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #00008b;"&gt;while&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;runningTasks&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-gt&lt;/SPAN&gt; &lt;SPAN style="color: #800080;"&gt;0&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff;"&gt;Get-Task&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;|&lt;/SPAN&gt; &lt;SPAN style="color: #00008b;"&gt;%&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #00008b;"&gt;if&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab.ContainsKey&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-and&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.State&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-eq&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #8b0000;"&gt;Success&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vm&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff;"&gt;Get-VM&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;Name &lt;SPAN style="color: #000000;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;Get-VM&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;[$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;_.Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;])&lt;/SPAN&gt;.Name&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #00008b;"&gt;if&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vm.Powerstate&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-eq&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #8b0000;"&gt;PoweredOff&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #0000ff;"&gt;Write-Host&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;"$($&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vm.Name&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #8b0000;"&gt; is now being powered on. Please wait five to ten minutes before verifying new configuration&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;"&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;foregroundcolor green&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;taskTab&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;[(&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;Start-VM&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;VM &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vm&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;Confirm:&lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #008080;"&gt;false&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;-&lt;/SPAN&gt;RunAsync&lt;SPAN style="color: #000000;"&gt;)&lt;/SPAN&gt;.&lt;SPAN style="color: #00008b;"&gt;Id&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;]&lt;/SPAN&gt; &lt;SPAN style="color: #a9a9a9;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #ff4500;"&gt;vm&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Oct 2019 21:57:30 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/Update-Video-Ram-Wait-for-task-to-complete-before-proceeding-to/m-p/516326#M17171</guid>
      <dc:creator>LucD</dc:creator>
      <dc:date>2019-10-08T21:57:30Z</dc:date>
    </item>
    <item>
      <title>Re: Update Video Ram. Wait for task to complete before proceeding to next action.</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/Update-Video-Ram-Wait-for-task-to-complete-before-proceeding-to/m-p/516327#M17172</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks. I updated the script but unfortunately it's the same result as before,i.e. &lt;SPAN style="color: #666666; font-family: proxima-nova, Arial, sans-serif;"&gt;"The script will wait for the configuration task to be complete before the VMs are powered on" and doesn't progress to update the video ram and start up the VMs.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #666666; font-family: proxima-nova, Arial, sans-serif;"&gt;I'll go through the script again more carefully and post results later today or tomorrow. Thank you so much for all your time!&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Oct 2019 22:18:14 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/Update-Video-Ram-Wait-for-task-to-complete-before-proceeding-to/m-p/516327#M17172</guid>
      <dc:creator>BBB36</dc:creator>
      <dc:date>2019-10-08T22:18:14Z</dc:date>
    </item>
    <item>
      <title>Re: Update Video Ram. Wait for task to complete before proceeding to next action.</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/Update-Video-Ram-Wait-for-task-to-complete-before-proceeding-to/m-p/516328#M17173</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hey LucD, I made some modifications. Now the script works. I had to however remove some of the "tasktab" and error control portions in the #Shutdown VMs and #Power on VMs sections of the script for it to work. I'm sure I'm just missing something small but I needed to get this working ASAP and also don't have the knowledge yet to fix it quickly. Anyway, here's the final script. If you or anyone else can enhance it that would be greatly appreciated! Thanks so much for all your help!&lt;/P&gt;&lt;P&gt;******************************************************************************************************************************************************************************&lt;/P&gt;&lt;P&gt;$newVideoRamSize = 9000&lt;/P&gt;&lt;P&gt;$vmlist = Import-Csv .\vmlist.csv -UseCulture&lt;/P&gt;&lt;P&gt;$vmlist1 = $vmlist | select -ExpandProperty VM&lt;/P&gt;&lt;P&gt;$taskTab = @{ }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#Shutdown VMs&lt;/P&gt;&lt;P&gt;foreach ($vm in $vmlist1) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-Host $vm will shutdown in preparation for the Video Ram configuration change. -foregroundcolor green&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $taskTab[(Stop-VM -VM $vm -Confirm:$false -RunAsync).Id] = $vm&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Start-Sleep -Seconds 30&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#Take snapshot of VMs&lt;/P&gt;&lt;P&gt;$runningTasks = $taskTab.Count&lt;/P&gt;&lt;P&gt;while ($runningTasks -gt 0) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; Get-Task | % {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ($taskTab.ContainsKey($_.Id) -and $_.State -eq "Success") {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $vm = Get-VM $taskTab[$_.Id]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-Host $vm snapshot is being taken before the configuration change should a rollback be necessary. -foregroundcolor green&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $tasktab[(New-Snapshot -VM $taskTab[$_.Id] -Name BeforeVideoRamChange -RunAsync).Id] = $vm&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $taskTab.Remove($_.Id)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $runningTasks--&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elseif ($taskTab.ContainsKey($_.Id) -and $_.State -eq "Error") {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $taskTab.Remove($_.Id)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $runningTasks--&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Start-Sleep -Seconds 30&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#Update Video Ram&lt;/P&gt;&lt;P&gt;foreach ($vm in $vmlist1) {&lt;/P&gt;&lt;P&gt;$runningTasks = $taskTab.Count&lt;/P&gt;&lt;P&gt;while ($runningTasks -gt 0) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; Get-Task | % {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ($taskTab.ContainsKey($_.Id) -and $_.State -eq "Success") {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $vm = Get-VM ($taskTab[$_.Id]).Name&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ($vm.Powerstate -eq "PoweredOn") {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return "$vm is still powered on. Manually power off VMs before re-attempting."&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $vid = $vm.ExtensionData.Config.Hardware.Device | ? { $_.GetType().Name -eq "VirtualMachineVideoCard" }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $spec = New-Object VMware.Vim.VirtualMachineConfigSpec&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $devChange = New-Object VMware.Vim.VirtualDeviceConfigSpec&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $devChange.Operation = 'edit'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $vid.videoRamSizeInKB = $newVideoRamSize&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((!$devChange.Operation) -or (!$vid.videoRamSizeInKB)){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return "ERROR: Unable to set video memory on $($vm.Name). Ensure it is powered off."&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-Host $($vm.Name) video memory has been successfully set to $newVideoRamSize -foregroundcolor green&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $devChange.Device += $vid&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $spec.DeviceChange += $devChange&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $vm.ExtensionData.ReconfigVM($spec)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $taskTab.Remove($_.Id)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $runningTasks--&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elseif ($taskTab.ContainsKey($_.Id) -and $_.State -eq "Error") {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $taskTab.Remove($_.Id)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $runningTasks--&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Start-Sleep -Seconds 30&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#Power on VMs&lt;/P&gt;&lt;P&gt;foreach ($vm in $vmlist1) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-Host $vm is being powered back on. -foregroundcolor green&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $taskTab[(Start-VM -VM $vm -Confirm:$false -RunAsync).Id] = $vm&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Start-Sleep -Seconds 30&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Write-Host Configuration complete. Confirm new change in 5 to 10 minutes. -foregroundcolor green&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 Oct 2019 15:11:36 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/Update-Video-Ram-Wait-for-task-to-complete-before-proceeding-to/m-p/516328#M17173</guid>
      <dc:creator>BBB36</dc:creator>
      <dc:date>2019-10-10T15:11:36Z</dc:date>
    </item>
  </channel>
</rss>

