运行以下脚本:
class Liste: UIViewController {
@IBOutlet weak var maListe: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
}
}
目标:检查文件.zip是否完整,一旦完成,它会发送一封电子邮件,让该文件可以通过。我正在运行脚本,没有错误,但也没有警报电子邮件。
建立在:加上可能发送电子邮件的时间。例如,脚本将在每天早上6:00运行,电子邮件将发送给用户以通知文件已完成。
答案 0 :(得分:1)
在脚本顶部添加$ ErrorActionPreference =“ Stop”,因此将显示错误。
使用Attachments参数添加文件,building
不是Send-MailMessage的有效参数
不需要获取内容,只需将路径添加到附件:
$EmailSplat.Attachments = "Path/test.zip"
是这样的:
$ErrorActionPreference = "Stop"
Set-StrictMode -Version Latest
$folder = "C:\test"
$fileToCheck = Get-Item -Path (Join-Path $folder test.zip) -ErrorAction SilentlyContinue
$emailOptions = @{
"To" = "business@email.com"
"CC" = "admin@email.com"
"SmtpServer" = "smtp.server.net"
"From" = "my@email.com"
"Priority" = "High"
}
# first condition: If the file does not exist, or was not created today, an e-mail should be sent that states "File not created" or similar.
if ((-not $fileToCheck) -or ($fileToCheck.CreationTime -le (Get-Date).AddDays(-1)))
{
$emailOptions.Subject = "File not Found or not created today"
Send-MailMessage @emailOptions
}
elseif ($fileToCheck -and ($fileToCheck.Length -le 2))
{
# second condition: If the file exists and was created today, but has no content, no e-mail should be sent.
}
else
{
# third condition and the default condition if it does not match the other conditions
$emailOptions.Subject = "Active Directory Accounts To Check"
$emailOptions.Attachments = $fileToCheck.FullName
Send-MailMessage @emailOptions
}
答案 1 :(得分:1)
$ Folder变量必须使用“ $ FileToCheck = Get-Item ...”行,因为它使用了该变量。
在Send-MailMessage cmdlet中没有这样的参数“ building”。我认为您是在追求身体,因为您正在尝试获取内容...? https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/send-mailmessage?view=powershell-6
另一个要注意的是,Get-Content将无法读取zip文件的内容。您需要解压缩文件,然后读取文件或将文件添加为附件。 这是在仅包含文本文件的zip文件中使用Get-Content的示例: PK N_S³test.txtsdafasdfPK ¸ÌN_S³test.txtPK 6。