PowerShell syntax error on { used in foreach loop -


i found awesome code on page has syntax error when trying use powershell version 3 or 4 can fix issues?

http://jeffwouters.nl/index.php/2012/06/scvmm-custom-inventory-about-vm-and-vhd-with-powershell/

$vms = get-vm -vmmserver localhost | sort-object -property name -descending “<html><head><title>vm inventory</title></head><body><table border=1>”  |     out-file $env:temp\vminventory.html “<tr><td>vm name</td><td>vm memory</td><td>vhd name</td><td>vhd         length</td><td>vhd maximum</td><td>vhd available</td><td>vhd free %</td></tr>”     | out-file $env:temp\vminventory.html -append foreach ($vm in $vms) { “<tr><td>”+$vm.name+”</td><td>”+$vm.memory+”mb</td><td>.</td><td>.</td><td>.    </td><td>.</td><td>.</td></tr>” | out-file $env:temp\vminventory.html     -append foreach ( $vhd in $vm.virtualharddisks) { $vhdlength = ($vhd.size / 1gb) $vhdsize = “{0:n2}” -f $vhdlength if ($vhd.vhdtype -eq “dynamicallyexpanding”) { $backgroundcolor = “#ff0000″ $vhdmaximumsize = “{0:n2}” -f ($vhd.maximumsize / 1gb) $vhdavailable = “{0:n2}” -f (($vhd.maximumsize – $vhd.size) /1gb) $vhdfree = “{0:n2}” -f (100 – (($vhd.size * 100) / $vhd.maximumsize)) “<tr><td>.</td><td>.</td> <td bgcolor=”+$backgroundcolor+”>”+$vhd.name+”</td> <td bgcolor=”+$backgroundcolor+”>”+$vhdsize+”gb</td> <td bgcolor=”+$backgroundcolor+”>”+$vhdmaximumsize+”</td> <td bgcolor=”+$backgroundcolor+”>”+$vhdavailable+”</td> <td bgcolor=”+$backgroundcolor+”>”+$vhdfree+” %</td></tr>” | out-file         $env:temp\vminventory.html -append } else { “<tr><td>.</td><td>.</td><td>”+$vhd.name+”</td><td>”+$vhdsize+”gb</td><td>.<    /td><td>.</td><td>.</td></tr>” | out-file $env:temp\vminventory.html -append } } “<tr>” | out-file $env:temp\vminventory.html -append } “</table><body></html>” | out-file $env:temp\vminventory.html -append invoke-expression $env:temp\vminventory.html 

the issue appears smart quotes. took time indent code makes more readable. cannot run myself syntax appears correct now.

$vms = get-vm -vmmserver localhost | sort-object -property name -descending "<html><head><title>vm inventory</title></head><body><table border=1>" | out-file $env:temp\vminventory.html "<tr><td>vm name</td><td>vm memory</td><td>vhd name</td><td>vhd         length</td><td>vhd maximum</td><td>vhd available</td><td>vhd free %</td></tr>"     | out-file $env:temp\vminventory.html -append foreach ($vm in $vms){ "<tr><td>"+$vm.name+"</td><td>"+$vm.memory+"mb</td><td>.</td><td>.</td><td>.    </td><td>.</td><td>.</td></tr>" | out-file $env:temp\vminventory.html     -append     foreach ( $vhd in $vm.virtualharddisks){     $vhdlength = ($vhd.size / 1gb)     $vhdsize = "{0:n2}" -f $vhdlength         if ($vhd.vhdtype -eq "dynamicallyexpanding"){             $backgroundcolor = "#ff0000"             $vhdmaximumsize = "{0:n2}" -f ($vhd.maximumsize / 1gb)             $vhdavailable = "{0:n2}" -f (($vhd.maximumsize – $vhd.size) /1gb)             $vhdfree = "{0:n2}" -f (100 – (($vhd.size * 100) / $vhd.maximumsize))              "<tr><td>.</td><td>.</td>             <td bgcolor="+$backgroundcolor+">"+$vhd.name+"</td>             <td bgcolor="+$backgroundcolor+">"+$vhdsize+"gb</td>             <td bgcolor="+$backgroundcolor+">"+$vhdmaximumsize+"</td>             <td bgcolor="+$backgroundcolor+">"+$vhdavailable+"</td>             <td bgcolor="+$backgroundcolor+">"+$vhdfree+" %</td></tr>" | out-file $env:temp\vminventory.html -append         }else{             "<tr><td>.</td><td>.</td><td>"+$vhd.name+"</td><td>"+$vhdsize+"gb</td><td>.<    /td><td>.</td><td>.</td></tr>" | out-file $env:temp\vminventory.html -append         }     }     "<tr>" | out-file $env:temp\vminventory.html -append }  "</table><body></html>" | out-file $env:temp\vminventory.html -append invoke-expression $env:temp\vminventory.html 

if feel code looks benefit creating custom object , using convertto-html. yes lose colour formatting fyi.


Comments

Popular posts from this blog

shopping cart - Page redirect not working PHP -

php - How to modify a menu to show sub-menus -

python - Installing PyDev in eclipse is failed -