У меня есть сценарий PowerShell, который запускает robocopy
на двух дисках для резервного копирования, а затем отправляет электронное письмо с результатами работы.Работает каждый вечер.Когда я изначально писал сценарий, мои тестовые резервные копии были достаточно маленькими, чтобы я мог включить журнал резервного копирования в текст сообщения, а также в качестве вложения.Однако из-за того, что сценарий фактически выполняет мои резервные копии в реальном времени, журнал слишком длинен для этого, более 100 МБ, поэтому я не получаю уведомления о состоянии задания.
Я ищу способ получитьпросто краткое изложение работы.Я натолкнулся на сценарий, который даст мне именно то, что я хочу, но я не знаю, как превратить вывод сценариев в то, что я могу отправить по электронной почте в виде вложения или включить в текст сообщения электронной почты.
Сценарий, который я нашел здесь: Получение показателей Robocopy: сканирование файла журнала .Вывод, который я хочу получить, выглядит следующим образом:
LogFilePath : 150208TargetServer_S_MSO_R.TXT
Start : Sun Feb 08 21:00:01 2015
End : Sun Feb 08 21:05:53 2015
Source : \\SourcerServer\S$\Group\MSO\
Destination : \\TargetServer\R$\Platinum_Service_Replications\Group\MSO\
TotalDirs : 3217
TotalFiles : 30920
TotalMBytes : 186,863.61
CopiedDirs : 1
CopiedFiles : 4
CopiedMBytes : 55.84
FailedDirs : 0
FailedFiles : 0
FailedMBytes : 0
SpeedMBMin : 599.840
SOURCERSERVER:
TARGETSERVER:
Строка кода «Я думаю», которую мне нужно преобразовать в HTML:
return $dataColl, $sourceServer, $sourceDrive, $targetServer, $targetDrive, $replicatingSysAdmin, $dataObject.LogFilePath
Я пробовал
$Results = $dataColl, $sourceServer, $sourceDrive, $targetServer,
$targetDrive, $replicatingSysAdmin, $dataObject.LogFilePath
и
Get-Process |
select ProcessName $dataColl, $sourceServer, $sourceDrive, $targetServer,
$targetDrive, $replicatingSysAdmin, $dataObject.LogFilePath |
ConvertTo-Html |
Out-File results.html
и даже это
Write-Host $dataColl, $sourceServer, $sourceDrive, $targetServer,
$targetDrive, $replicatingSysAdmin, $dataObject.LogFilePath
Но я не могу получить никакого вывода, кроме того, что "return" дает мне в командной строке.Может кто-нибудь предложить способ получить HTML или основной текст, который я ищу?Я не привязан к этому сценарию, поэтому, если у кого-то есть лучший метод, это нормально, если я могу втиснуть в свой существующий сценарий robocopy
.
Кроме того, если вам нужно, чтобы я загрузил любойобразцы, я могу.