Я создал скрипт для проверки сертификатов локального компьютера у определенного эмитента, истекающих в течение 400 000 дней (чтобы получить удар при его тестировании) на удаленном сервере, но я не могу просто выяснить как получить результат для отправки фактического сообщения электронной почты в качестве экспериментов с трубами после (и в) операторов IF, похоже, не работает. У меня был тихий многопользовательский секс (конечно), но поскольку я новичок в Powershell, и иногда мне трудно интерпретировать какой-то код.Отправить письмо от результата (должно быть легко)
Я ищу что-то вроде; если $ OutputFromtheIFStatement | Measure-Object -gt 0 {Отправить по электронной почте с помощью $ SendReportNow.}
Мой код:
$Servers = 'testserver1,'testserver2'
$Threshold = 400000
$Deadline = (Get-Date).AddDays($Threshold)
$MailSMTP = '-SmtpServer smtpserver.domain.com -Port 25'
$MailTo = "[email protected]"
$MailFrom = "[email protected]"
$MailSubject = '-Subject Certifikat expiring within 90 days'
$MailBody = '-Body ?'
$SendReportNow = 'Send-MailMessage $MailSMTP $MailFrom $MailTo $MailSubject'
Invoke-Command -ComputerName $Servers { Get-ChildItem Cert:\LocalMachine\My } | ForEach {
If ($_.NotAfter -le $Deadline -and $_.Issuer -like '*CertainCompanyName*') { $_ | Select @{Label="Servername";Expression={($_.PSComputerName)}}, Issuer, Subject, @{Label="Expiry Date & Time";Expression={($_.NotAfter)}}, @{Label="Expires In (Days)";Expression={($_.NotAfter - (Get-Date)).Days}}
}
}
... Благодаря почти идеально, за исключением, что выход электронной почты показать, как: @ {ServerA ....... .. а также необходимость форматирования вывода, поскольку все, что нужно, не требует разделения строк (я использую Lotus Notes при работе = сам вирус, это важно). Также время нужно отформатировать как «2015-10-23 12:22». Я сам работаю над этим, подумал, что я просто дам вам знать! –
Мне удалось решить проблему ... видимо, я слишком сильно ударил головой о стену ... в вашей строке send-mailmessage. Добавить -Body ($ body | out-string). Это с Powershell 4 –