<?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: how to write invoke-vmscript output which contains multiple lines in VMware PowerCLI Discussions</title>
    <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/how-to-write-invoke-vmscript-output-which-contains-multiple/m-p/2306822#M82420</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Just change the last line to&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN style="color: #777777;"&gt;}&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;|&lt;/SPAN&gt; Select VM&lt;SPAN style="color: #777777;"&gt;,&lt;/SPAN&gt;State&lt;SPAN style="color: #777777;"&gt;,&lt;/SPAN&gt;KB&lt;SPAN style="color: #777777;"&gt;,&lt;/SPAN&gt;InstallStatus &lt;SPAN style="color: #777777;"&gt;|&lt;/SPAN&gt; &lt;SPAN style="color: #aa3731; font-weight: bold;"&gt;Export-Csv&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;-&lt;/SPAN&gt;Path .\report.csv &lt;SPAN style="color: #777777;"&gt;-&lt;/SPAN&gt;NoTypeInformation &lt;SPAN style="color: #777777;"&gt;-&lt;/SPAN&gt;UseCulture&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 11 Aug 2020 09:20:46 GMT</pubDate>
    <dc:creator>LucD</dc:creator>
    <dc:date>2020-08-11T09:20:46Z</dc:date>
    <item>
      <title>how to write invoke-vmscript output which contains multiple lines</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/how-to-write-invoke-vmscript-output-which-contains-multiple/m-p/2306811#M82409</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;When I execute the code which is in &lt;STRONG&gt;$script&lt;/STRONG&gt;&amp;nbsp; inside a guest os I can get the expected results but using Invoke-VMScript the results are not writing properly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="_jivemacro_uid_15970568707499724 jive_macro_code jive_text_macro" data-renderedposition="49.60000228881836_8_1232_1104" jivemacro_uid="_15970568707499724"&gt;&lt;P&gt;$script=@'&lt;/P&gt;&lt;P&gt;$results=@()&lt;/P&gt;&lt;P&gt;$ErrorActionPreference = "SilentlyContinue"&lt;/P&gt;&lt;P&gt;If ($Error) {&lt;/P&gt;&lt;P&gt;$Error.Clear()&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;$updatesession=New-Object -ComObject Microsoft.update.session &lt;/P&gt;&lt;P&gt;$Criteria="IsInstalled=0 and Type=Software and IsHidden=0"&lt;/P&gt;&lt;P&gt;$searchresult=$updateSession.CreateupdateSearcher().Search("IsInstalled=0 and Type='Software' and IsHidden=0").Updates &lt;/P&gt;&lt;P&gt;if(-not $searchresult.Count){&lt;/P&gt;&lt;P&gt;$results+="There are no applicable updates for this computer."&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;else{&lt;/P&gt;&lt;P&gt;$pendingdownloads=$searchresult | Where-Object {$_.IsDownloaded -eq $false}&lt;/P&gt;&lt;P&gt;if(($pendingdownloads |Select-Object IsDownloaded).count -ne '0'){&lt;/P&gt;&lt;P&gt;$downloadercall=$updatesession.CreateUpdateDownloader()&lt;/P&gt;&lt;P&gt;$downloadercall.Updates=New-Object -ComObject Microsoft.update.updatecoll&lt;/P&gt;&lt;P&gt;foreach($pendingdownload in $pendingdownloads){&lt;/P&gt;&lt;P&gt;[void]$downloadercall.Updates.add($pendingdownload)&lt;/P&gt;&lt;P&gt;$downloadercall.Download() |Out-Null&lt;/P&gt;&lt;P&gt;[void]$downloadercall.Updates.RemoveAt(0)&lt;/P&gt;&lt;P&gt;}}&lt;/P&gt;&lt;P&gt;$updatesession=New-Object -ComObject Microsoft.update.session&lt;/P&gt;&lt;P&gt;$Criteria="IsInstalled=0 and Type=Software and IsHidden=0"&lt;/P&gt;&lt;P&gt;$searchresult=$updateSession.CreateupdateSearcher().Search("IsInstalled=0 and Type='Software' and IsHidden=0").Updates&lt;/P&gt;&lt;P&gt;$downloadedupdates = $searchresult&amp;nbsp; | Where-Object {$_.IsDownloaded -eq $true}&lt;/P&gt;&lt;P&gt;$updatercall=$updatesession.CreateUpdateInstaller()&lt;/P&gt;&lt;P&gt;$updatercall.Updates= New-Object -ComObject Microsoft.update.updatecoll&lt;/P&gt;&lt;P&gt;$results+=foreach($singleupdate in $downloadedupdates){&lt;/P&gt;&lt;P&gt;[void]$updatercall.Updates.add($singleupdate)&lt;/P&gt;&lt;P&gt;$installstatus=$updatercall.install()&lt;/P&gt;&lt;P&gt;[void]$updatercall.Updates.RemoveAt(0)&lt;/P&gt;&lt;P&gt;''|Select-Object @{N="KB";E={$kbnumb=$singleupdate.Title;$kbnumb.Substring($kbnumb.IndexOf("KB")).Trimend(")")}},@{N="Installstatus";E={if($installstatus.ResultCode -eq '2'){&lt;/P&gt;&lt;P&gt;'KBInstalled'}&lt;/P&gt;&lt;P&gt;elseif($installstatus.ResultCode -eq '3'){&lt;/P&gt;&lt;P&gt;'KBInstall Succeeded with errors'}&lt;/P&gt;&lt;P&gt;elseif($installstatus.ResultCode -eq '4'){&lt;/P&gt;&lt;P&gt;'Kb Failed to install'}&lt;/P&gt;&lt;P&gt;elseif($installstatus.ResultCode -eq '5'){&lt;/P&gt;&lt;P&gt;'KBAborted'}}}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;$results&lt;/P&gt;&lt;P&gt;'@&lt;/P&gt;&lt;P&gt;foreach($templatevm in (Get-VM "*Template*")){&lt;/P&gt;&lt;P&gt;$sInvoke = @{&lt;/P&gt;&lt;P&gt;VM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = $templatevm.Name&lt;/P&gt;&lt;P&gt;GuestUser&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 'administrator'&lt;/P&gt;&lt;P&gt;GuestPassword = 'password'&lt;/P&gt;&lt;P&gt;ScriptText&amp;nbsp;&amp;nbsp;&amp;nbsp; = $script&lt;/P&gt;&lt;P&gt;ScriptType&amp;nbsp;&amp;nbsp;&amp;nbsp; = 'Powershell'&lt;/P&gt;&lt;P&gt;RunAsync&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = $true&lt;/P&gt;&lt;P&gt;Confirm&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = $false&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;$tasks += @{&lt;/P&gt;&lt;P&gt;VM = $templatevm.Name&lt;/P&gt;&lt;P&gt;Task = Invoke-VMScript @sInvoke&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;Write-Host "Invoke Operation is performed on all the templates and waiting for results to be collected"&lt;/P&gt;&lt;P&gt;while($tasks.Task.State -contains 'Running'){&lt;/P&gt;&lt;P&gt;sleep 2&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;foreach ($task in $tasks) {&lt;/P&gt;&lt;P&gt;$task | Select @{N='VM';E={$_.VM}},&lt;/P&gt;&lt;P&gt;@{N='State';E={$_.Task.State}},&lt;/P&gt;&lt;P&gt;@{N='Error';E={$_.Task.TerminatingError.Message}},&lt;/P&gt;&lt;P&gt;@{N ='Result'; E={$_.Task.Result.ScriptOutput.Split("`n") |Where-Object { $_ -ne '' } | %{$_.Trim("`r`n")}}}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Result of &lt;STRONG&gt;$script&lt;/STRONG&gt; inside the guest OS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://communities.vmware.com/t5/image/serverpage/image-id/22179i2B7F3DE55256A0F4/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But when I executed using invoke-vmscript the result is below:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_0.png"&gt;&lt;img src="https://communities.vmware.com/t5/image/serverpage/image-id/22196iF46FA829334B2CBE/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_0.png" alt="pastedImage_0.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Aug 2020 10:55:12 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/how-to-write-invoke-vmscript-output-which-contains-multiple/m-p/2306811#M82409</guid>
      <dc:creator>vin01</dc:creator>
      <dc:date>2020-08-10T10:55:12Z</dc:date>
    </item>
    <item>
      <title>Re: how to write invoke-vmscript output which contains multiple lines</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/how-to-write-invoke-vmscript-output-which-contains-multiple/m-p/2306812#M82410</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Your script produces in fact output for the screen inside the Guest OS.&lt;/P&gt;&lt;P&gt;These formatting directives clutter up the result that is returned.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The better way to transfer data this way is to use okain text.&lt;/P&gt;&lt;P&gt;That is also why we used ConvertTo-Csv in the past.&lt;/P&gt;&lt;P&gt;And then on the receiving side you use ConvertFrom-Csv.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Aug 2020 11:11:59 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/how-to-write-invoke-vmscript-output-which-contains-multiple/m-p/2306812#M82410</guid>
      <dc:creator>LucD</dc:creator>
      <dc:date>2020-08-10T11:11:59Z</dc:date>
    </item>
    <item>
      <title>Re: how to write invoke-vmscript output which contains multiple lines</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/how-to-write-invoke-vmscript-output-which-contains-multiple/m-p/2306813#M82411</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;After using ConvertTo-Csv I can able to get the output in correct way but how to write the output foreach kb in csv.&lt;/P&gt;&lt;P&gt;Right now I getting output as below:&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="_jivemacro_uid_15970640405568526 jive_macro_code jive_text_macro" data-renderedposition="49.60000228881836_8_1232_112" jivemacro_uid="_15970640405568526"&gt;&lt;P&gt;foreach ($task in $tasks) {&lt;/P&gt;&lt;P&gt;$task | Select @{N='VM';E={$_.VM}},&lt;/P&gt;&lt;P&gt;@{N='State';E={$_.Task.State}},&lt;/P&gt;&lt;P&gt;@{N='Error';E={$_.Task.TerminatingError.Message}},&lt;/P&gt;&lt;P&gt;@{N ='KB'; E={(($_.Task.Result.ScriptOutput |ConvertFrom-Csv).KB)}},&lt;/P&gt;&lt;P&gt;@{N ='Installstatus'; E={(($_.Task.Result.ScriptOutput |ConvertFrom-Csv).Installstatus)}}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;output:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://communities.vmware.com/t5/image/serverpage/image-id/22197iB025F54FE0F8527A/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;--------------------------------------&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Expecting output as below:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;VM : VM01&lt;/P&gt;&lt;P&gt;State: Success&lt;/P&gt;&lt;P&gt;Error:&lt;/P&gt;&lt;P&gt;KB: KB4565628&lt;/P&gt;&lt;P&gt;Installstatus: KBInstalled&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;VM : VM01&lt;/P&gt;&lt;P&gt;State: Success&lt;/P&gt;&lt;P&gt;Error:&lt;/P&gt;&lt;P&gt;KB: KB4565511&lt;/P&gt;&lt;P&gt;Installstatus: KBInstalled&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Aug 2020 12:58:24 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/how-to-write-invoke-vmscript-output-which-contains-multiple/m-p/2306813#M82411</guid>
      <dc:creator>vin01</dc:creator>
      <dc:date>2020-08-10T12:58:24Z</dc:date>
    </item>
    <item>
      <title>Re: how to write invoke-vmscript output which contains multiple lines</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/how-to-write-invoke-vmscript-output-which-contains-multiple/m-p/2306814#M82412</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You should do the ConvertFrom-Csv on the complete output, not just individual entries.&lt;/P&gt;&lt;P&gt;Something like this perhaps?&lt;/P&gt;&lt;P&gt;I don't know what you pass as CSV from the script that runs in the Guest OS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;report&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #4b69c6;"&gt;@&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;()&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;P&gt;&lt;SPAN style="color: #4b69c6;"&gt;foreach&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;task&lt;/SPAN&gt; &lt;SPAN style="color: #4b69c6;"&gt;in&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;tasks&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;report&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;+=&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;task.Result.ScriptOutp&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;|&lt;/SPAN&gt; &lt;SPAN style="color: #aa3731; font-weight: bold;"&gt;ConvertFrom-Csv&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;|&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Select VM&lt;SPAN style="color: #777777;"&gt;,&lt;/SPAN&gt;State&lt;SPAN style="color: #777777;"&gt;,&lt;/SPAN&gt;Error&lt;SPAN style="color: #777777;"&gt;,&lt;/SPAN&gt;KB&lt;SPAN style="color: #777777;"&gt;,&lt;/SPAN&gt;InstallStatus&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #777777;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Aug 2020 13:47:28 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/how-to-write-invoke-vmscript-output-which-contains-multiple/m-p/2306814#M82412</guid>
      <dc:creator>LucD</dc:creator>
      <dc:date>2020-08-10T13:47:28Z</dc:date>
    </item>
    <item>
      <title>Re: how to write invoke-vmscript output which contains multiple lines</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/how-to-write-invoke-vmscript-output-which-contains-multiple/m-p/2306815#M82413</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This is what I have passed inside the guestos. Actually $task.Task.Result.ScriptOutput contains multiple values for each vm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_15970703458687916 jive_text_macro" data-renderedposition="49.60000228881836_8_1232_1104" jivemacro_uid="_15970703458687916" modifiedtitle="true"&gt;&lt;P&gt;$script=@'&lt;/P&gt;&lt;P&gt;$results=@()&lt;/P&gt;&lt;P&gt;$ErrorActionPreference = "SilentlyContinue"&lt;/P&gt;&lt;P&gt;If ($Error) {&lt;/P&gt;&lt;P&gt;$Error.Clear()&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;$updatesession=New-Object -ComObject Microsoft.update.session &lt;/P&gt;&lt;P&gt;$Criteria="IsInstalled=0 and Type=Software and IsHidden=0"&lt;/P&gt;&lt;P&gt;$searchresult=$updateSession.CreateupdateSearcher().Search("IsInstalled=0 and Type='Software' and IsHidden=0").Updates &lt;/P&gt;&lt;P&gt;if(-not $searchresult.Count){&lt;/P&gt;&lt;P&gt;$results+="There are no applicable updates for this computer."&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;else{&lt;/P&gt;&lt;P&gt;$pendingdownloads=$searchresult | Where-Object {$_.IsDownloaded -eq $false}&lt;/P&gt;&lt;P&gt;if(($pendingdownloads |Select-Object IsDownloaded).count -ne '0'){&lt;/P&gt;&lt;P&gt;$downloadercall=$updatesession.CreateUpdateDownloader()&lt;/P&gt;&lt;P&gt;$downloadercall.Updates=New-Object -ComObject Microsoft.update.updatecoll&lt;/P&gt;&lt;P&gt;foreach($pendingdownload in $pendingdownloads){&lt;/P&gt;&lt;P&gt;[void]$downloadercall.Updates.add($pendingdownload)&lt;/P&gt;&lt;P&gt;$downloadercall.Download() |Out-Null&lt;/P&gt;&lt;P&gt;[void]$downloadercall.Updates.RemoveAt(0)&lt;/P&gt;&lt;P&gt;}}&lt;/P&gt;&lt;P&gt;$updatesession=New-Object -ComObject Microsoft.update.session&lt;/P&gt;&lt;P&gt;$Criteria="IsInstalled=0 and Type=Software and IsHidden=0"&lt;/P&gt;&lt;P&gt;$searchresult=$updateSession.CreateupdateSearcher().Search("IsInstalled=0 and Type='Software' and IsHidden=0").Updates&lt;/P&gt;&lt;P&gt;$downloadedupdates = $searchresult&amp;nbsp; | Where-Object {$_.IsDownloaded -eq $true}&lt;/P&gt;&lt;P&gt;$updatercall=$updatesession.CreateUpdateInstaller()&lt;/P&gt;&lt;P&gt;$updatercall.Updates= New-Object -ComObject Microsoft.update.updatecoll&lt;/P&gt;&lt;P&gt;$results+=foreach($singleupdate in $downloadedupdates){&lt;/P&gt;&lt;P&gt;[void]$updatercall.Updates.add($singleupdate)&lt;/P&gt;&lt;P&gt;$installstatus=$updatercall.install()&lt;/P&gt;&lt;P&gt;[void]$updatercall.Updates.RemoveAt(0)&lt;/P&gt;&lt;P&gt;''|Select-Object @{N="KB";E={$kbnumb=$singleupdate.Title;$kbnumb.Substring($kbnumb.IndexOf("KB")).Trimend(")")}},@{N="Installstatus";E={if($installstatus.ResultCode -eq '2'){&lt;/P&gt;&lt;P&gt;'KBInstalled'}&lt;/P&gt;&lt;P&gt;elseif($installstatus.ResultCode -eq '3'){&lt;/P&gt;&lt;P&gt;'KBInstall Succeeded with errors'}&lt;/P&gt;&lt;P&gt;elseif($installstatus.ResultCode -eq '4'){&lt;/P&gt;&lt;P&gt;'Kb Failed to install'}&lt;/P&gt;&lt;P&gt;elseif($installstatus.ResultCode -eq '5'){&lt;/P&gt;&lt;P&gt;'KBAborted'}}}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;$results |ConvertTo-Csv -NoTypeInformation&lt;/P&gt;&lt;P&gt;'@&lt;/P&gt;&lt;P&gt;$templatevm=Get-VM 'TestVM01'&lt;/P&gt;&lt;P&gt;$sInvoke = @{&lt;/P&gt;&lt;P&gt;VM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = $templatevm.Name&lt;/P&gt;&lt;P&gt;GuestUser&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 'administrator'&lt;/P&gt;&lt;P&gt;GuestPassword = 'password'&lt;/P&gt;&lt;P&gt;ScriptText&amp;nbsp;&amp;nbsp;&amp;nbsp; = $script&lt;/P&gt;&lt;P&gt;ScriptType&amp;nbsp;&amp;nbsp;&amp;nbsp; = 'Powershell'&lt;/P&gt;&lt;P&gt;RunAsync&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = $true&lt;/P&gt;&lt;P&gt;Confirm&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = $false&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;$tasks += @{&lt;/P&gt;&lt;P&gt;VM = $templatevm.Name&lt;/P&gt;&lt;P&gt;Task = Invoke-VMScript @sInvoke&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;Write-Host "Invoke Operation is performed on all the templates and waiting for results to be collected"&lt;/P&gt;&lt;P&gt;while($tasks.Task.State -contains 'Running'){&lt;/P&gt;&lt;P&gt;sleep 2&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;foreach ($task in $tasks) {&lt;/P&gt;&lt;P&gt;$task | Select @{N='VM';E={$_.VM}},&lt;/P&gt;&lt;P&gt;@{N='State';E={$_.Task.State}},&lt;/P&gt;&lt;P&gt;@{N='Error';E={$_.Task.TerminatingError.Message}},&lt;/P&gt;&lt;P&gt;#@{N ='KB'; E={(($_.Task.Result.ScriptOutput |ConvertFrom-Csv).KB)}},&lt;/P&gt;&lt;P&gt;#@{N ='Installstatus'; E={(($_.Task.Result.ScriptOutput |ConvertFrom-Csv).Installstatus)}}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is the actual output of the single VM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://communities.vmware.com/t5/image/serverpage/image-id/22198iB18443D8CD0FDF30/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am expecting Output like this for single VM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;VM : VM01&lt;/P&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;State: Success&lt;/P&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;Error:&lt;/P&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;KB: KB4565628&lt;/P&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;Installstatus: KBInstalled&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;VM : VM01&lt;/P&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;State: Success&lt;/P&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;Error:&lt;/P&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;KB: KB4565511&lt;/P&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;Installstatus: KBInstalled&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Aug 2020 14:45:15 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/how-to-write-invoke-vmscript-output-which-contains-multiple/m-p/2306815#M82413</guid>
      <dc:creator>vin01</dc:creator>
      <dc:date>2020-08-10T14:45:15Z</dc:date>
    </item>
    <item>
      <title>Re: how to write invoke-vmscript output which contains multiple lines</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/how-to-write-invoke-vmscript-output-which-contains-multiple/m-p/2306816#M82414</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;As far as I can see you are returning two types of results back.&lt;/P&gt;&lt;P&gt;- just a string with "&lt;SPAN style="color: #000000; font-family: Consolas, 'Courier New', Courier, mono, serif; font-size: 12px;"&gt;There are no applicable updates for this computer.&lt;/SPAN&gt;"&lt;/P&gt;&lt;P&gt;- a CSV with 2 properties, KB and InstallStatus&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To be able to handle the results uniformly, you will have to return the same layout on all occasions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm not sure why insist on doing the ConvertFrom-Csv for each property separately.&lt;/P&gt;&lt;P&gt;When there is for example more than 1 KB returned, your calculated property KB will be an array.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Aug 2020 15:10:09 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/how-to-write-invoke-vmscript-output-which-contains-multiple/m-p/2306816#M82414</guid>
      <dc:creator>LucD</dc:creator>
      <dc:date>2020-08-10T15:10:09Z</dc:date>
    </item>
    <item>
      <title>Re: how to write invoke-vmscript output which contains multiple lines</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/how-to-write-invoke-vmscript-output-which-contains-multiple/m-p/2306817#M82415</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;I'm not sure why insist on doing the ConvertFrom-Csv for each property separately.&lt;/P&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;Yeah That's my mistake. I am not clear on how to write the kb results when they are more then one and if no updates are available on the computer. Can you pls correct the above code or rewrite if they are more then one kb or &lt;SPAN style="color: #666666; font-family: proxima-nova, Arial, sans-serif;"&gt;no updates are available. &lt;/SPAN&gt;something as below&lt;/P&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;&lt;/P&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;&lt;STRONG&gt;VM : VM01&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;State: Success&lt;/P&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;Error:&lt;/P&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;&lt;STRONG&gt;KB: KB4565628&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;Installstatus: KBInstalled&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;&lt;STRONG&gt;VM : VM01&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;State: Success&lt;/P&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;Error:&lt;/P&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;&lt;STRONG&gt;KB: KB4565511&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;Installstatus: KBInstalled&lt;/P&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;&lt;/P&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;&lt;STRONG&gt;VM : VM02&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;State: Success&lt;/P&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;Error:&lt;/P&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;KB: &lt;/P&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;Installstatus: There are no applicable updates for this computer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;&lt;STRONG&gt;VM : VM03&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;State: Success&lt;/P&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;Error:&lt;/P&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;&lt;STRONG&gt;KB: KB4567511&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="margin: 2px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;&lt;STRONG&gt;Installstatus: Kb Failed to install&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Aug 2020 15:32:11 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/how-to-write-invoke-vmscript-output-which-contains-multiple/m-p/2306817#M82415</guid>
      <dc:creator>vin01</dc:creator>
      <dc:date>2020-08-10T15:32:11Z</dc:date>
    </item>
    <item>
      <title>Re: how to write invoke-vmscript output which contains multiple lines</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/how-to-write-invoke-vmscript-output-which-contains-multiple/m-p/2306818#M82416</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Try something like this&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;script&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;=&lt;/SPAN&gt;@&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;$report = @()&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;$ErrorActionPreference = "SilentlyContinue"&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;If ($Error) {&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $Error.Clear()&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;}&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;$updatesession=New-Object -ComObject Microsoft.update.session&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;$Criteria="IsInstalled=0 and Type=Software and IsHidden=0"&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;$searchresult=$updateSession.CreateupdateSearcher().Search("IsInstalled=0 and Type=&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;Software&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #448c27;"&gt; and IsHidden=0").Updates&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;$report = if(-not $searchresult.Count){&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; New-Object -TypeName PSObject -property @{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VM = $env:COMPUTERNAME&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; KB = &lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;''&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InstallStatus = &lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;There are no applicable updates &lt;SPAN style="color: #4b69c6;"&gt;for&lt;/SPAN&gt; this computer.&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;}&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;else{&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $pendingdownloads=$searchresult | Where-Object {$_.IsDownloaded -eq $false}&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(($pendingdownloads |Select-Object IsDownloaded).count -ne &lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #9c5d27;"&gt;0&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #448c27;"&gt;){&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $downloadercall=$updatesession.CreateUpdateDownloader()&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $downloadercall.Updates=New-Object -ComObject Microsoft.update.updatecoll&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach($pendingdownload in $pendingdownloads){&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [void]$downloadercall.Updates.add($pendingdownload)&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $downloadercall.Download() |Out-Null&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [void]$downloadercall.Updates.RemoveAt(0)&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $updatesession=New-Object -ComObject Microsoft.update.session&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $Criteria="IsInstalled=0 and Type=Software and IsHidden=0"&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $searchresult=$updateSession.CreateupdateSearcher().Search("IsInstalled=0 and Type=&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;Software&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #448c27;"&gt; and IsHidden=0").Updates&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $downloadedupdates = $searchresult&amp;nbsp; | Where-Object {$_.IsDownloaded -eq $true}&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $updatercall=$updatesession.CreateUpdateInstaller()&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $updatercall.Updates= New-Object -ComObject Microsoft.update.updatecoll&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach($singleupdate in $downloadedupdates){&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [void]$updatercall.Updates.add($singleupdate)&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $installstatus=$updatercall.install()&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [void]$updatercall.Updates.RemoveAt(0)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; New-Object -TypeName PSObject -property @{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VM = $env:COMPUTERNAME&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; KB = &amp;amp;{$kbnumb=$singleupdate.Title; $kbnumb.Substring($kbnumb.IndexOf("KB")).Trimend(")")}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InstallStatus = &amp;amp;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&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; if($installstatus.ResultCode -eq &lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #9c5d27;"&gt;2&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #448c27;"&gt;){&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&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&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;KBInstalled&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&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; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&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; elseif($installstatus.ResultCode -eq &lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #9c5d27;"&gt;3&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #448c27;"&gt;){&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&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&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;KBInstall Succeeded with errors&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&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; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&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; elseif($installstatus.ResultCode -eq &lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #9c5d27;"&gt;4&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #448c27;"&gt;){&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&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&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;Kb Failed to install&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&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; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&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; elseif($installstatus.ResultCode -eq &lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #9c5d27;"&gt;5&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #448c27;"&gt;){&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&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&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;KBAborted&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&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&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&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&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;$report | ConvertTo-Csv -NoTypeInformation&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;@ &lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;vmNames&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #448c27;"&gt;TestVM01&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;tasks&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #4b69c6;"&gt;@&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;()&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;SPAN style="color: #aa3731; font-weight: bold;"&gt;Get-VM&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;-&lt;/SPAN&gt;Name &lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;vmNames&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;-&lt;/SPAN&gt;PipelineVariable vm &lt;SPAN style="color: #777777;"&gt;|&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #aa3731; font-weight: bold;"&gt;ForEach-Object&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;-&lt;/SPAN&gt;Process &lt;SPAN style="color: #777777;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;sInvoke&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #4b69c6;"&gt;@&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&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: #7a3e9d;"&gt;VM&lt;/SPAN&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: #777777;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&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; &lt;SPAN style="color: #7a3e9d;"&gt;GuestUser&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #777777;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #448c27;"&gt;administrator&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&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: #7a3e9d;"&gt;GuestPassword&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #448c27;"&gt;password&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&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: #7a3e9d;"&gt;ScriptText&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #777777;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;script&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: #7a3e9d;"&gt;ScriptType&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #777777;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #448c27;"&gt;Powershell&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&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: #7a3e9d;"&gt;RunAsync&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #777777;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #9c5d27;"&gt;true&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: #7a3e9d;"&gt;Confirm&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #777777;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #9c5d27;"&gt;false&lt;/SPAN&gt; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #777777;"&gt;}&lt;/SPAN&gt; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;tasks&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;+=&lt;/SPAN&gt; &lt;SPAN style="color: #4b69c6;"&gt;@&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&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: #7a3e9d;"&gt;VM&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&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; &lt;SPAN style="color: #7a3e9d;"&gt;Task&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #aa3731; font-weight: bold;"&gt;Invoke-VMScript&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;@&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;sInvoke&lt;/SPAN&gt; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #777777;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #777777;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #aa3731; font-weight: bold;"&gt;Write-Host&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #448c27;"&gt;Invoke Operation is performed on all the templates and waiting for results to be collected&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;"&lt;/SPAN&gt; &lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;SPAN style="color: #4b69c6;"&gt;while&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;tasks.Task.State&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;-contains&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #448c27;"&gt;Running&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;){&lt;/SPAN&gt; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sleep &lt;SPAN style="color: #9c5d27;"&gt;2&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;tasks.Task.State&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #777777;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;tasks&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;|&lt;/SPAN&gt; &lt;SPAN style="color: #aa3731; font-weight: bold;"&gt;ForEach-Object&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;-&lt;/SPAN&gt;Process &lt;SPAN style="color: #777777;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #4b69c6;"&gt;if&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;_.Task.State&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;-eq&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #448c27;"&gt;Success&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&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: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;_.Task.Result.Scriptoutput&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;|&lt;/SPAN&gt; &lt;SPAN style="color: #aa3731; font-weight: bold;"&gt;ConvertFrom-Csv&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&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: #aa3731; font-weight: bold;"&gt;Add-Member&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;-&lt;/SPAN&gt;MemberType NoteProperty &lt;SPAN style="color: #777777;"&gt;-&lt;/SPAN&gt;Name State &lt;SPAN style="color: #777777;"&gt;-&lt;/SPAN&gt;Value &lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;_.Task.State&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;-&lt;/SPAN&gt;PassThru&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #777777;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #4b69c6;"&gt;else&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&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: #aa3731; font-weight: bold;"&gt;New-Object&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;-&lt;/SPAN&gt;TypeName PSObject &lt;SPAN style="color: #777777;"&gt;-&lt;/SPAN&gt;Property &lt;SPAN style="color: #4b69c6;"&gt;@&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&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: #7a3e9d;"&gt;VM&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;_.VM.Name&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: #7a3e9d;"&gt;KB&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&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: #7a3e9d;"&gt;InstallStatus&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&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: #7a3e9d;"&gt;State&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;_.Task.State&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: #777777;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #777777;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #777777;"&gt;}&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;|&lt;/SPAN&gt; Select VM&lt;SPAN style="color: #777777;"&gt;,&lt;/SPAN&gt;State&lt;SPAN style="color: #777777;"&gt;,&lt;/SPAN&gt;KB&lt;SPAN style="color: #777777;"&gt;,&lt;/SPAN&gt;InstallStatus&lt;/P&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Aug 2020 17:20:30 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/how-to-write-invoke-vmscript-output-which-contains-multiple/m-p/2306818#M82416</guid>
      <dc:creator>LucD</dc:creator>
      <dc:date>2020-08-10T17:20:30Z</dc:date>
    </item>
    <item>
      <title>Re: how to write invoke-vmscript output which contains multiple lines</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/how-to-write-invoke-vmscript-output-which-contains-multiple/m-p/2306819#M82417</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;One Last Thing. I don't want the VMName from inside the guestos(&lt;SPAN style="color: #448c27; font-family: proxima-nova, Arial, sans-serif; background-color: #f0fade;"&gt;VM = $env:COMPUTERNAME)&amp;nbsp; &lt;/SPAN&gt;because for few vms the displayname in the vcenter is different when compare to the vm name inside the guest os. Can it be possible to write only name which is in vcenter.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Aug 2020 07:05:46 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/how-to-write-invoke-vmscript-output-which-contains-multiple/m-p/2306819#M82417</guid>
      <dc:creator>vin01</dc:creator>
      <dc:date>2020-08-11T07:05:46Z</dc:date>
    </item>
    <item>
      <title>Re: how to write invoke-vmscript output which contains multiple lines</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/how-to-write-invoke-vmscript-output-which-contains-multiple/m-p/2306820#M82418</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Try this version&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;script&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;=&lt;/SPAN&gt;@&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #448c27;"&gt; &lt;/SPAN&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;$report = @()&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;$ErrorActionPreference = "SilentlyContinue" &lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;If ($Error) { &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $Error.Clear() &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;} &lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;$updatesession=New-Object -ComObject Microsoft.update.session&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;$Criteria="IsInstalled=0 and Type=Software and IsHidden=0" &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;$searchresult=$updateSession.CreateupdateSearcher().Search("IsInstalled=0 and Type=&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;Software&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #448c27;"&gt; and IsHidden=0").Updates&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;$report = if(-not $searchresult.Count){&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; New-Object -TypeName PSObject -property @{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; KB = &lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;''&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InstallStatus = &lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;There are no applicable updates &lt;SPAN style="color: #4b69c6;"&gt;for&lt;/SPAN&gt; this computer.&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;} &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;else{ &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $pendingdownloads=$searchresult | Where-Object {$_.IsDownloaded -eq $false} &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(($pendingdownloads |Select-Object IsDownloaded).count -ne &lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #9c5d27;"&gt;0&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #448c27;"&gt;){ &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $downloadercall=$updatesession.CreateUpdateDownloader() &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $downloadercall.Updates=New-Object -ComObject Microsoft.update.updatecoll &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach($pendingdownload in $pendingdownloads){ &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [void]$downloadercall.Updates.add($pendingdownload) &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $downloadercall.Download() |Out-Null &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [void]$downloadercall.Updates.RemoveAt(0) &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $updatesession=New-Object -ComObject Microsoft.update.session &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $Criteria="IsInstalled=0 and Type=Software and IsHidden=0" &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $searchresult=$updateSession.CreateupdateSearcher().Search("IsInstalled=0 and Type=&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;Software&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #448c27;"&gt; and IsHidden=0").Updates &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $downloadedupdates = $searchresult&amp;nbsp; | Where-Object {$_.IsDownloaded -eq $true} &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $updatercall=$updatesession.CreateUpdateInstaller() &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $updatercall.Updates= New-Object -ComObject Microsoft.update.updatecoll &lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach($singleupdate in $downloadedupdates){ &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [void]$updatercall.Updates.add($singleupdate) &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $installstatus=$updatercall.install() &lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [void]$updatercall.Updates.RemoveAt(0)&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; New-Object -TypeName PSObject -property @{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; KB = &amp;amp;{$kbnumb=$singleupdate.Title; $kbnumb.Substring($kbnumb.IndexOf("KB")).Trimend(")")}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InstallStatus = &amp;amp;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&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; if($installstatus.ResultCode -eq &lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #9c5d27;"&gt;2&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #448c27;"&gt;){ &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&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&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;KBInstalled&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&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&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&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; elseif($installstatus.ResultCode -eq &lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #9c5d27;"&gt;3&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #448c27;"&gt;){ &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&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&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;KBInstall Succeeded with errors&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&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&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&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; elseif($installstatus.ResultCode -eq &lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #9c5d27;"&gt;4&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #448c27;"&gt;){ &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&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&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;Kb Failed to install&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&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&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&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; elseif($installstatus.ResultCode -eq &lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #9c5d27;"&gt;5&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #448c27;"&gt;){ &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&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&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;KBAborted&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&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&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&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&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #448c27;"&gt;$report | ConvertTo-Csv -NoTypeInformation &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;@&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;vmNames&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #448c27;"&gt;TestVM01&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;tasks&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #4b69c6;"&gt;@&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;()&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;SPAN style="color: #aa3731; font-weight: bold;"&gt;Get-VM&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;-&lt;/SPAN&gt;Name &lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;vmNames&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;-&lt;/SPAN&gt;PipelineVariable vm &lt;SPAN style="color: #777777;"&gt;|&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #aa3731; font-weight: bold;"&gt;ForEach-Object&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;-&lt;/SPAN&gt;Process &lt;SPAN style="color: #777777;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;sInvoke&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #4b69c6;"&gt;@&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&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: #7a3e9d;"&gt;VM&lt;/SPAN&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: #777777;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&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; &lt;SPAN style="color: #7a3e9d;"&gt;GuestUser&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #777777;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #448c27;"&gt;administrator&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&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: #7a3e9d;"&gt;GuestPassword&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #448c27;"&gt;password&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&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: #7a3e9d;"&gt;ScriptText&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #777777;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;script&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: #7a3e9d;"&gt;ScriptType&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #777777;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #448c27;"&gt;Powershell&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&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: #7a3e9d;"&gt;RunAsync&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #777777;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #9c5d27;"&gt;true&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: #7a3e9d;"&gt;Confirm&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #777777;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #9c5d27;"&gt;false&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #777777;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;tasks&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;+=&lt;/SPAN&gt; &lt;SPAN style="color: #4b69c6;"&gt;@&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&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: #7a3e9d;"&gt;VM&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&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; &lt;SPAN style="color: #7a3e9d;"&gt;Task&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #aa3731; font-weight: bold;"&gt;Invoke-VMScript&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;@&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;sInvoke&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #777777;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #777777;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #aa3731; font-weight: bold;"&gt;Write-Host&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #448c27;"&gt;Invoke Operation is performed on all the templates and waiting for results to be collected&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;"&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;SPAN style="color: #4b69c6;"&gt;while&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;tasks.Task.State&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;-contains&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #448c27;"&gt;Running&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;){&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sleep &lt;SPAN style="color: #9c5d27;"&gt;2&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #aa3731; font-weight: bold;"&gt;Write-Host&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #448c27;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;"&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;-&lt;/SPAN&gt;NoNewline&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #777777;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #aa3731; font-weight: bold;"&gt;Write-Host&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #448c27;"&gt;All tasks finished&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;"&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;tasks&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;|&lt;/SPAN&gt; &lt;SPAN style="color: #aa3731; font-weight: bold;"&gt;ForEach-Object&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;-&lt;/SPAN&gt;Process &lt;SPAN style="color: #777777;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #4b69c6;"&gt;if&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;($&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;_.Task.State&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;-eq&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #448c27;"&gt;Success&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&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: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;_.Task.Result.Scriptoutput&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;|&lt;/SPAN&gt; &lt;SPAN style="color: #aa3731; font-weight: bold;"&gt;ConvertFrom-Csv&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&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: #aa3731; font-weight: bold;"&gt;Add-Member&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;-&lt;/SPAN&gt;MemberType NoteProperty &lt;SPAN style="color: #777777;"&gt;-&lt;/SPAN&gt;Name VM &lt;SPAN style="color: #777777;"&gt;-&lt;/SPAN&gt;Value &lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;_.VM.Name&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;-&lt;/SPAN&gt;PassThru &lt;SPAN style="color: #777777;"&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: #aa3731; font-weight: bold;"&gt;Add-Member&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;-&lt;/SPAN&gt;MemberType NoteProperty &lt;SPAN style="color: #777777;"&gt;-&lt;/SPAN&gt;Name State &lt;SPAN style="color: #777777;"&gt;-&lt;/SPAN&gt;Value &lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;_.Task.State&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;-&lt;/SPAN&gt;PassThru&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #777777;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #4b69c6;"&gt;else&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&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: #aa3731; font-weight: bold;"&gt;New-Object&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;-&lt;/SPAN&gt;TypeName PSObject &lt;SPAN style="color: #777777;"&gt;-&lt;/SPAN&gt;Property &lt;SPAN style="color: #4b69c6;"&gt;@&lt;/SPAN&gt;&lt;SPAN style="color: #777777;"&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: #7a3e9d;"&gt;VM&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;_.VM.Name&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: #7a3e9d;"&gt;KB&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&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: #7a3e9d;"&gt;InstallStatus&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&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: #7a3e9d;"&gt;State&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;$&lt;/SPAN&gt;&lt;SPAN style="color: #7a3e9d;"&gt;_.Task.State&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: #777777;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #777777;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #777777;"&gt;}&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;|&lt;/SPAN&gt; Select VM&lt;SPAN style="color: #777777;"&gt;,&lt;/SPAN&gt;State&lt;SPAN style="color: #777777;"&gt;,&lt;/SPAN&gt;KB&lt;SPAN style="color: #777777;"&gt;,&lt;/SPAN&gt;InstallStatus&lt;/P&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Aug 2020 08:16:31 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/how-to-write-invoke-vmscript-output-which-contains-multiple/m-p/2306820#M82418</guid>
      <dc:creator>LucD</dc:creator>
      <dc:date>2020-08-11T08:16:31Z</dc:date>
    </item>
    <item>
      <title>Re: how to write invoke-vmscript output which contains multiple lines</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/how-to-write-invoke-vmscript-output-which-contains-multiple/m-p/2306821#M82419</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yeah now its working. How do I export this results to csv file. Is it possible to keep the output in array. something like below so that i can easily export for all the vms&lt;/P&gt;&lt;P&gt;$finaloutput=@()&lt;/P&gt;&lt;P&gt;$finaloutput |Export-Csv&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Aug 2020 09:10:45 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/how-to-write-invoke-vmscript-output-which-contains-multiple/m-p/2306821#M82419</guid>
      <dc:creator>vin01</dc:creator>
      <dc:date>2020-08-11T09:10:45Z</dc:date>
    </item>
    <item>
      <title>Re: how to write invoke-vmscript output which contains multiple lines</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/how-to-write-invoke-vmscript-output-which-contains-multiple/m-p/2306822#M82420</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Just change the last line to&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN style="color: #777777;"&gt;}&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;|&lt;/SPAN&gt; Select VM&lt;SPAN style="color: #777777;"&gt;,&lt;/SPAN&gt;State&lt;SPAN style="color: #777777;"&gt;,&lt;/SPAN&gt;KB&lt;SPAN style="color: #777777;"&gt;,&lt;/SPAN&gt;InstallStatus &lt;SPAN style="color: #777777;"&gt;|&lt;/SPAN&gt; &lt;SPAN style="color: #aa3731; font-weight: bold;"&gt;Export-Csv&lt;/SPAN&gt; &lt;SPAN style="color: #777777;"&gt;-&lt;/SPAN&gt;Path .\report.csv &lt;SPAN style="color: #777777;"&gt;-&lt;/SPAN&gt;NoTypeInformation &lt;SPAN style="color: #777777;"&gt;-&lt;/SPAN&gt;UseCulture&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Aug 2020 09:20:46 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/how-to-write-invoke-vmscript-output-which-contains-multiple/m-p/2306822#M82420</guid>
      <dc:creator>LucD</dc:creator>
      <dc:date>2020-08-11T09:20:46Z</dc:date>
    </item>
  </channel>
</rss>

