Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Powershell - eventlog błąd

wiejski_bak 12 Mar 2016 10:57 558 1
  • #1 12 Mar 2016 10:57
    wiejski_bak
    Poziom 2  

    Witam,
    Potrzebuje aby mój skrypt powershellowy odczytywał backup systemu windows, czy się wykonał czy nie, oto kod:

    Code:


    Param(
        [string]$Log,
        [int]$ID
        )
    $ErrorActionPreference = "SilentlyContinue"
    $Date = Get-Date -format "dd-MM-yyyy"
    $StartAt = (Get-Date).AddDays(-1)
    $Success = (Get-WinEvent @{Logname=$Log;id=$ID;StartTime=$StartAt})
    $Failure = (Get-WinEvent @{Logname=$Log;level=2;StartTime=$StartAt})
    if($Success.Count -gt '0' -and ($Failure.Count -eq 0 -or `
      ($Success.TimeCreated -gt $Failure.TimeCreated)))
    {
      Write-Host "OK:" $Date":" $($Success.Message);Exit 0
    }
      Else
    {
      Write-Host "CRITICAL:" $Date":" $($Failure.Message);Exit 2
    }

    niestety nie odczytuje wykonanego backupu systemy tylko komuniktat:
    CRITICAL: 12-03-2016:

    0 1
  • #2 12 Mar 2016 22:18
    marcinj12
    Poziom 40  

    Nie znam się za bardzo na powershellu, ale widzę że masz tu jakiś kilkuczłonowy warunek if. Zacznij od zdebugowania / wypisania sobie poszczególnych części tego warunku - może to na coś naprowadzi. Następnie prześledź logikę ANDów i ORów.

    Jak wspomniałem nie znam składni, ale raz piszesz -gt '0' a raz -eq 0 - czy liczba nie powinna być bez ciapek?

    0
  Szukaj w 5mln produktów