Kuddel071089 9 Geschrieben 14. März 2018 Melden Teilen Geschrieben 14. März 2018 (bearbeitet) Hallo zusammen, ich habe ein Skript geschrieben. welches das Eventloig unser Exchange Server ausliest und prüft, ob die Tägliche BareMetal-Sicherung erfolgreich abgeschlossen wurde. Das Skript läuft jeden Tag um 6 Uhr. Komischerweise werden nicht immer beide Server abgefragt. Mal ja, mal nein. Führe ich den Task dann danach einmal manuell aus, werden wieder beide Server korrekt abgefragt. Hat jemand eine Idee, was das Problem sein könnte? Hier das Skiprt cls $host.ui.RawUI.WindowTitle = "Exchange Backup Check v0.3" #Mailvariablen $Mailempfaenger = "exchange-admins@****.de" $smtpserver = "outlook.****.de" $absender = "Tool-Server@****.de" #Exchange Mailbox-Server abfragen #Verbindung zum Exchange aufbauen New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://Exchange-1/powershell Import-PSSession $ExSession cls $exs= @("Exchange-1","Exchange-2") #Checkschleife foreach($ex in $exs) { #Datum von gestern in Variable $heute = Get-Date -uFormat „%m/%d/%y“ #Erfolgeich-Mail if(Get-WinEvent -LogName Microsoft-Windows-Backup -ComputerName $ex | Where-Object {$_.Id -eq 4 -and ($_.TimeCreated -gt $heute)}) { $mailbody_ex = "C:\mailbody_$ex.txt" $event_ex_erfolgreich = Get-WinEvent -LogName Microsoft-Windows-Backup -ComputerName $ex | Where-Object {$_.Id -eq 4 -and ($_.TimeCreated -gt $heute)} "$($event_ex_erfolgreich.TimeCreated)" | Out-File -FilePath $mailbody_ex -Append "$($event_ex_erfolgreich.Message)" | Out-File -FilePath $mailbody_ex -Append #Auslastung der Partition X in den Mailbody schreiben $auslastung_x = Get-WMIObject Win32_LogicalDisk -filter "name='x:'" -ComputerName $ex | Select freespace | ForEach {$_.name, [math]::truncate($_.freespace / 1GB)} "" | Out-File -FilePath $mailbody_ex -Append "Frei Speicher auf Festplatte X: $auslastung_X GB" | Out-File -FilePath $mailbody_ex -Append $body = Get-Content -Raw $mailbody_ex Send-MailMessage -SmtpServer $smtpserver -to $Mailempfaenger -from $absender -Subject "+++ Exchange Backup: $ex --> SUCCESS +++" -Body $body Remove-Item $mailbody_ex } #Fehler-Mail if(Get-WinEvent -LogName Microsoft-Windows-Backup -ComputerName $ex | Where-Object {$_.Id -eq 5 -and ($_.TimeCreated -gt $heute)}) { $mailbody_ex_error = "C:\mailbody_error_$ex.txt" $event_ex_nicht_erfolgreich = Get-WinEvent -LogName Microsoft-Windows-Backup -ComputerName $ex | Where-Object {$_.Id -eq 5 -and ($_.TimeCreated -gt $heute)} "$($event_ex_nicht_erfolgreich.TimeCreated)" | Out-File -FilePath $mailbody_ex_error -Append "$($event_ex_nicht_erfolgreich.Message)" | Out-File -FilePath $mailbody_ex_error -Append "" | Out-File -FilePath $mailbody_ex_error -Append #Auslastung der Partition X in den Mailbody schreiben $auslastung_x = Get-WMIObject Win32_LogicalDisk -filter "name='x:'" -ComputerName $ex | Select freespace | ForEach {$_.name, [math]::truncate($_.freespace / 1GB)} "" | Out-File -FilePath $mailbody_ex_error -Append "Frei Speicher auf Festplatte X: $auslastung_X GB" | Out-File -FilePath $mailbody_ex_error -Append $body = Get-Content -Raw $mailbody_ex_error #Fehlermeldung, dass das Backup nicht erfolgreich abgeschlossen wurde Send-MailMessage -SmtpServer $smtpserver -to $Mailempfaenger -from $absender -Subject "+++ Exchange Backup: $ex --> ERROR +++" -Body $body Remove-Item $mailbody_ex_error } #Nicht gestartet Mail if(!(Get-WinEvent -LogName Microsoft-Windows-Backup -ComputerName $ex | Where-Object {$_.Id -eq 1 -and ($_.TimeCreated -gt $heute)})) { Send-MailMessage -SmtpServer $smtpserver -to $Mailempfaenger -from $absender -Subject "+++ Exchange Backup: $ex --> ERROR +++" -Body "Das Backup wurde nicht ausgeführt" } } bearbeitet 14. März 2018 von Kuddel071089 Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.