Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Не могу разобратся с Convertto-html (http://forum.oszone.net/showthread.php?t=130138)

glazemir 28-01-2009 10:47 1022110

Не могу разобратся с Convertto-html
 
С скриптами сталкиваюсь первый раз, так что прошу не судить строго:)
Изучаю по книжке, там стоит задача вывести список всех служб и в зависимости от статуса окрасить их либо в красный либо в зелёный цвет с этим я справился

Get-Service | ForEach-Object { if($_.status -Eq "Stopped") {Write-Host $_.Status $_.Name -ForegroundColor red}
Elseif ($_.status -Eq "Running") {Write-Host $_.Status $_.Name -ForegroundColor Green}}

После этого надо вывести результат в html, делаю таким образом

Get-Service | ForEach-Object { if($_.status -Eq "Stopped") {Write-Host $_.Status $_.Name -ForegroundColor red}
Elseif ($_.status -Eq "Running") {Write-Host $_.Status $_.Name -ForegroundColor Green}} | ConvertTo-Html > .\get-service.html

В результате сего действа получаю пустой файл get-service.html Собственно вопрос что я делаю не так?

Vadikan 29-01-2009 01:14 1023034

glazemir, возможно, вам помогут эти статьи
Язык сценариев Windows PowerShell: Отличный внешний вид
Эй, сценарист!: Работа с прохладцей тоже бывает вознаграждена!

Petya V4sechkin 29-01-2009 12:06 1023313

glazemir, командлет Write-Host выводит данные только в консоль и не передает дальше в конвейер (соответственно, ConvertTo-Html не получает ничего).

Если можно обойтись без цвета, все просто:
Код:

Get-Service | ConvertTo-Html Status, Name | Set-Content .\get-service.html
Ну а если выделение цветом жизненно необходимо, придется писать фактически аналог ConvertTo-Html (создание html-файла вручную, со всеми необходимыми тегами).

aToVille 26-06-2009 08:26 1152048

Помогите разобраться со следующим. Делаю:
Код:

PS C:\> gWmi Win32_OperatingSystem | ConvertTo-Html __server

<html><body><table>
***
<tr><th>__server</th></tr>
<tr><td>COMP_NAME</td></tr>
</table></body></html>

Для наглядного отображения информации, пытаюсь заменить "__server" на "Computer" по примеру с раскрашиванием служб:
Код:

PS C:\> gWmi Win32_OperatingSystem | ConvertTo-Html __server | `
  foreach {if ($_ -match "__server") {$_ -replace "__server", "Computer"}}

<tr><th>Computer</th></tr>

Получается все тело HTML пропадает :( Помогите разобраться??


Время: 23:18.

Время: 23:18.
© OSzone.net 2001-