Используйте найденные данные из Windows ID и поместите их в электронное письмо через Powershell - PullRequest
0 голосов
/ 13 июня 2019

Я пытаюсь создать скрипт Powershell, который получает определенную часть текстового файла, читает его, а затем помещает в содержимое электронного письма и отправляет его. Вот что у меня сейчас есть:

$logs = (Get-EventLog system | where {$_.InstanceId -eq 7001 -and 
$_.TimeWritten -gt (Get-Date).Adddays(-1)}).TimeWritten | Out-String
#to file
$logs | Out-File ".\Results.txt"

#create COM object named Outlook 
$Outlook = New-Object -ComObject Outlook.Application 
#create Outlook MailItem named Mail using CreateItem() method 
$Mail = $Outlook.CreateItem(0) 
#add properties as desired 
$Mail.To = "SomeMailAddress.com" 
$Mail.Subject = "Time" 
$Mail.Body = $logs
#send message 
$Mail.Send() 
#quit and cleanup 
$Outlook.Quit() 
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($Outlook) | Out-Null

Я могу создать текстовый файл, вывести данные, я думаю, что Get-Content получает определенную часть времени, но я не уверен, как использовать Set-Content и поместить это в электронное письмо. Буду признателен за любые предложения / помощь

1 Ответ

2 голосов
/ 13 июня 2019

Самый простой способ отправки электронной почты через PowerShell - это использование Send-MailMessge.

Ниже показано, как вы могли бы отправить с помощью Outlook ComOjbect. Примечание. Если вам необходимо использовать комбинированный объект Outlook, убедитесь, что вы запускаете PowerShell и Outlook одинаково с той же учетной записью.

Пример:

$logs = (Get-EventLog system | where {$_.InstanceId -eq 7001 -and $_.TimeWritten -gt (Get-Date).Adddays(-1)}).TimeWritten  | Out-String 

#create COM object named Outlook 
$Outlook = New-Object -ComObject Outlook.Application 
#create Outlook MailItem named Mail using CreateItem() method 
$Mail = $Outlook.CreateItem(0) 
#add properties as desired
$Mail.To = "jrider@yourDomain.com" 
$Mail.Subject = "Time" 
$Mail.Body = $logs
#send message 
$Mail.Send() 
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($Outlook) | Out-Null
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...