выводить строки и переменные в powershell for loop - PullRequest
0 голосов
/ 19 сентября 2019

Мне нужно извлечь оповещения из остальных API и отправить их в файл с powershell

Мне удалось извлечь выходы оповещений, зацикливая XML-файл:

    foreach ($c in $temp){$c.timeOfAlertFormatted,$c.parent,$c.child,$c.category,$c.servicePlanDisplayName,$c.message}
    Thu 09/19/2019 12:00:19 AM
    IL
    Servername
    Phase Failure
    Gold
    One or more source luns do not have a remote target specified/mapped.
    Wed 09/18/2019 02:18:25 PM
    IL
    Server2
    Phase Failure
    Gold
    One or more source luns do not have a remote target specified/mapped

Яновичок в PS, чего я хочу добиться, это добавить описательную строку

к каждому полю, то есть:

Time: Thu 09/19/2019 12:00:19 AM
Country: IL
Server: servername

и т. д., остальные поля.

iпробовал:

foreach ($c in $temp){Write-Host "Time  : $($c.timeOfAlertFormatted)"}

Time  : 
Time  : 
Time  : 
Time  : 
Time  : 
Time  : 
Time  : 
Time  : 
Time  : 
Time  : 
Time  : 
Time  : 
Time  : Thu 09/19/2019 12:00:19 AM

печать пустых полей "Время"

вот пример xml:

1 Ответ

0 голосов
/ 19 сентября 2019

Похоже, вы уже загрузили xml и отфильтровали нужные свойства в переменной $temp.

Я думаю, того, чего вы хотите, можно достичь, выполнив:

$temp | Select-Object @{Name = 'Time'; Expression = {$_.timeOfAlertFormatted}},
                      @{Name = 'Country'; Expression = {$_.parent}},
                      @{Name = 'ServerName'; Expression = {$_.child}},
                      Category,ServicePlanDisplayName, Message

Приведенное выше должно вывести что-то вроде

Time                   : Thu 09/19/2019 12:00:19 AM
Country                : IL
ServerName             : Servername
Category               : Phase Failure
ServicePlanDisplayName : Gold
Message                : One or more source luns do not have a remote target specified/mapped.

Time                   : Wed 09/18/2019 02:18:25 PM
Country                : IL
ServerName             : Server2
Category               : General Failure
ServicePlanDisplayName : Gold
Message                : One or more source luns do not have a remote target specified/mapped.

Если ваша переменная $temp равна НЕ , как я подозреваю, отредактируйте ваш вопрос и покажите нам XML, а также код, который вы используете для извлечения из него предупреждений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...