@Djasar

Сбор информации и отправки. Как объединить 2 действия?

Подскажите есть 2 скрипта
Сбор информации по объему папок
gci -force 'E:\BASE\enm*','F:\DATE\enm*' -ErrorAction SilentlyContinue | ? { $_ -is [io.directoryinfo] } | % {$len = 0
gci -recurse -force $_.fullname -ErrorAction SilentlyContinue | % { $len += $_.length }
$_.fullname, '{0:N2} Gb' -f ($len / 1Gb)
} | Out-File -FilePath E:\BASE\1.txt


И отправка результат
Send-MailMessage -From 'test@test.ru' -To 'test@test.ru', -Subject "enm size" -Attachments 'E:\BASE\1.txt' –SmtpServer '10.10.10.10'


Нужно только реализовать в одном скрипте и в место -Attachments заменить на -Body. Что бы не прикладывал файл, а в теле письма писал результат.
Сохранять в файл не обязательно Out-File -FilePath E:\BASE\1.txt
  • Вопрос задан
  • 63 просмотра
Решения вопроса 1
@MaxKozlov Куратор тега PowerShell
Совсем китайская грамота ?
Почитайте какую-нибудь вводную статью :)

$body = gci -force 'E:\BASE\enm*','F:\DATE\enm*' -ErrorAction SilentlyContinue | ? { $_ -is [io.directoryinfo] } | % {$len = 0
gci -recurse -force $_.fullname -ErrorAction SilentlyContinue | % { $len += $_.length }
$_.fullname, '{0:N2} Gb' -f ($len / 1Gb)
}

$Body = $Body -join "`r`n"

Send-MailMessage -From 'test@test.ru' -To 'test@test.ru', -Subject "enm size" -Body $Body –SmtpServer '10.10.10.10'


Если хочется на экран тоже вывести
gci -force 'E:\BASE\enm*','F:\DATE\enm*' -ErrorAction SilentlyContinue | ? { $_ -is [io.directoryinfo] } | % {$len = 0
gci -recurse -force $_.fullname -ErrorAction SilentlyContinue | % { $len += $_.length }
$_.fullname, '{0:N2} Gb' -f ($len / 1Gb)
} | Tee-Object -Variable body

$Body = $Body -join "`r`n"

Send-MailMessage -From 'test@test.ru' -To 'test@test.ru', -Subject "enm size" -Body $Body –SmtpServer '10.10.10.10'
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы