首页 > 解决方案 > 如何使用 PowerShell(服务器 smtp)发送电子邮件

问题描述

您好,我被分配了一个任务来创建一个执行多个操作的脚本,此外,我需要发送一封电子邮件,其中包含一个指定全名和文件夹路径的表格。并且电子邮件发件人将是 NO@REPLY.COM 我该怎么做?我使用 SMTP 服务器

这是我创建的脚本:

Get-ADUser -filter * -SearchBase "OU=meitavdash,OU=Users,DC=meitav,DC=co,DC=il"

Get-ADUser -Properties whenCreated -Filter {samaccountname -like 'A*'} |Format-Table name,SamAccountName,whenCreated

Get-ADUser -Properties whenCreated -Filter {samaccountname -like 'A*'} | Select-Object @{n='FullName';e={$_.Name}},@{n='UserName';e={$_.SamaccountName}},@{n='CreateDate';e={$_.WhenCreated}} |  export-csv -path c:\userexport.csv
Get-ADUser -Properties whenCreated -Filter {samaccountname -like 'A*'} | where {$_.whencreated -le (Get-Date).AddYears(-2)}|Select-Object @{n='FullName';e={$_.Name}} 

$sp=$((Get-Date).AddDays(-365*2)); Get-ADUser -Properties whenCreated -Filter {name -like "A*" -and whenCreated -ge $sp}|%{New-Item -Path "c:\temp" -ItemType Directory; icacls /T /grant "$($_.samaccountname):(OI)(CI)F"

标签: powershellsmtp

解决方案


您正在寻找 Send-MailMessage:https ://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/send-mailmessage?view=powershell-7

$body = @"
Body
"@
$email = @{
  From = "Email address"
  To = "Email address"
  Subject = "Subject"
  Body = $body
  SmtpServer = "SmtpServer"
}
Send-MailMessage @email

在 body 而不是这里的 string 中,您可以使用完整的文件名和路径作为 pscustomobject。


推荐阅读