Запись результата в XML файл PowerShell

Необходимо вывести список служб, отсортировав список по статусу. Окрасьте выводимые данные в красный или зеленый цвет в зависимости от статуса службы «stopped» или «running». Результат запишите в файл XML.

$a= Get-Service | Where-Object {$_.Status -eq "Running"} | Write-Host -Foregroundcolor "Green"
$b= Get-Service | Where-Object {$_.Status -eq "Stopped"} | Write-Host -Backgroundcolor "Red"
Export-CliXML -Path text1.xml -InputObject $a,$b

Подскажите как правильно записать результат в xml файл.


Ответы (1 шт):

Автор решения: Alexander Petrov

Write-Host не возвращает значения, которое можно было бы дальше использовать.
Поэтому нужно записывать значения в переменные. И отдельно выводить их в консоль и в файл.
Как-то так:

$a= Get-Service | Where-Object {$_.Status -eq "Running"}
$b= Get-Service | Where-Object {$_.Status -eq "Stopped"}

$a | Write-Host -Foregroundcolor "Green"
$b | Write-Host -Backgroundcolor "Red"

Export-CliXML -Path text1.xml -InputObject $a,$b
→ Ссылка