Как преобразовать часть содержимого файла журнала в формат таблицы с помощью PowerShell

Я пытаюсь прочитать некоторые из нижних строк моего файла журнала и отправить содержимое в виде таблицы в электронном письме.

Журнальный файл:

      0 \\Server\Copy\db_materials\TEST\

               Total    Copied   Skipped  Mismatch    FAILED    Extras
    Dirs :       508         0       508         0         0         0
   Files :      9109         0      9109         0         0         0
   Bytes :   1.115 g         0   1.115 g         0         0         0
   Times :   0:01:03   0:00:00                       0:00:00   0:01:03
   Ended : Thursday, March 19, 2020 11:03:22 PM

Скрипт Powershell:

$body= (Get-Content -Path D:\logs\logfile.log -Tail 8 | Out-String) |ConvertFrom-Csv | ConvertTo-html | Set-Content D:\RMSscripts\Sample.html -Encoding UTF8

$EmailFrom = "xyz@abc.com"
$EmailTo = "myemail@abc.com"
$EmailSubject = "Report"
$SMTPServer = "smtp.server.com"

end-MailMessage -Port 25 -SmtpServer $SMTPServer -From $EmailFrom -To $EmailTo -Subject $EmailSubject -Body $body-Bodyashtml;

В электронное письмо вставлено содержимое, как показано ниже.

       Total    Copied   Skipped  Mismatch    FAILED    Extras
    Dirs :       508         0       508         0         0         0
   Files :      9109         0      9109         0         0         0
   Bytes :   1.115 g         0   1.115 g         0         0         0
   Times :   0:01:03   0:00:00                       0:00:00   0:01:03
   Ended : Thursday, March 19, 2020 11:03:22 PM

Ожидается: ожидаемый отчет по электронной почте

Как преобразовать необработанный контент в формат таблицы?

1 ответ

Как предлагается в комментарии: слишком много расхождений, чтобы легко воссоздать таблицу из вашего файла журнала. Вместо создания таблицы html я бы подумал о том, чтобы просто обернуть соответствующую текстовую таблицу в предварительно отформатированный текст<PRE> тег:

# $Table = (Get-Content -Path D:\logs\logfile.log -Tail 8 | Out-String)
$Table = @'
               Total    Copied   Skipped  Mismatch    FAILED    Extras
    Dirs :       508         0       508         0         0         0
   Files :      9109         0      9109         0         0         0
   Bytes :   1.115 g         0   1.115 g         0         0         0
   Times :   0:01:03   0:00:00                       0:00:00   0:01:03
   Ended : Thursday, March 19, 2020 11:03:22 PM
'@

$Body = @"
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>HTML TABLE</title>
</head><body>
<pre>
$Table
</pre>
</body></html>
"@
Другие вопросы по тегам