2015-09-15 4 views
0

У меня есть проблема переопределения параметров в моем скрипте Azure Powershell.Преобразование в HTML Azure Powershell «Get-VM»

В мои виртуальные машины У меня есть несколько виртуальных машин (VM), и когда я пытаюсь преобразовать их в HTML-файл с табличным форматом (столбцы: имя, IP-адрес, PowerState), я получаю только окончательный $ VM, потому что мои петли Foreach и IF перекрывают все другие виртуальные машины.

Я также хотел бы узнать некоторые советы и отзывы о правильном написании кода.

Это мой Полный код:

$style = "<style>" 
$style += "BODY{background-color: #6D7B8D;}" 
$style += "TABLE{border-width: 1px; border-style: solid; border-color: black; border-collapse: collapse; margin: 0px auto}" 
$style += "TH{border-width: 1px; padding: 0px; border-style: solid; border-color: black; background-color:#3300CC}" 
$style += "TD{border-width: 1px; padding: 0px; border-style: solid; border-color: black; background-color:#659EC7}" 
$style += "</style>" 
$title = "<H2 align=center>IIS Pool Status</H2>" 
$destination = "C:\Users\<User>\Desktop\Test.htm" 

$VMs = Get-AzureVM -ServiceName "<CloudService>" 

foreach ($VM in $VMs) 
{ 
    #Check if the current VM has an Endpoints with Port 80(HTTP) or Port 443(HTTPS) 
    $HTTPEndpoint = Get-AzureEndpoint -VM $VM | Where { $_.Port -in 80, 443} 
    if ($HTTPEndpoint) 
    { 
     '1', '2' | 
     Select @{label='VM Name';expression={$VM.Name}}, @{label='IP Address';expression={$VM.IPAddress}}, @{label='Power State';expression={$VM.PowerState}} | 
     ConvertTo-HTML -head $style -body $title | 
     Out-File $destination 
    } 
} 
Invoke-Expression $destination 

ответ

0

Out-File переписывает файл, если вы не используете -Append поэтому окончательное выполнение цикла будет определять содержание.

HtH, Гарета

+0

Спасибо Гарета на вашу помощь !!! Хорошего дня :-) – James

Смежные вопросы