Ich habe ein Powershell-Skript wie folgt. Hier überprüfe ich, ob eine .err-Datei vor 5 Minuten erstellt wurde und wenn ja, sende ich eine E-Mail für jede Fehlerdatei mit den ersten 5 Zeilen der .err-Datei. Wenn ich versuche, das Skript auszuführen, erhalte ich eine E-Mail für die erste Datei, aber ich bekomme einen Fehler für die zweite Datei, wie im folgenden Schnappschuss gezeigt. Ich bin neu in Powershell, und ich habe Mühe, eine Lösung für diesen Fehler zu finden.Fehler beim Senden von E-Mail durch Outlook in Power Shell-Skript
$ChkFile = "D:\ErrorLog\*.err"
$ChkFilePath = "D:\ErrorLog"
$o = New-Object -comObject Outlook.Application
$mail = $o.CreateItem(0)
$mail.importance = 2
$mail.subject = “Error Log“
$mail.To = “[email protected]“
$FileExists = Test-Path $ChkFile
$FileCount = Get-ChildItem $ChkFilePath *.err | Measure-Object | %{$_.Count}
If ($FileExists -eq $True) {
If ($FileCount -gt 0)
{
Foreach($file in (Get-ChildItem $ChkFile))
{
Write-Host $file
$createtime = $file.LastWriteTime
$nowtime = get-date
if (($nowtime - $createtime).totalminutes -gt 5)
{
$GetFileContent = Get-Content $file -totalcount 5
$mail.body = $GetFileContent
Write-Host $GetFileContent
$mail.Send()
}
}
}
}
Fehler erzeugt, während der Ausführung des Skripts:
Sie eingecheckt haben könnte 'Verschicken MailMessage' Cmdlets –