Jump to content

Eventlog auslesen per Powershell - Problem


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben (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 von Kuddel071089
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...