Quantcast
Channel: Windows PowerShell Forum
Viewing all articles
Browse latest Browse all 2314

Schule: Powershell-Script zum Checken eines Logfiles

$
0
0

zunächst ist mal zu sagen, dass in Powershell ein Neuzugänger bin, ich hoffe mich nciht gleich zu blamieren.

Also nun zum Thema: Es ist ein Powershell Script gesucht, dass ein beliebiges Logfile auf "Error:" (einen Suchstring) überprüft. Wenn es einen Fehler findet soll es automatisch an eine definierte Email an den Admin (in dem Fall ich) mit dem Inhalt der Zeile die den Fehler enthält.

Mein Problem ist, dass in der Wiederholrate das gesamte Logfile durchgegangen wird somit wird 1. Viel Leistung verschwendet und 2. bekomme ich per Email immer ALLE Fehler, ich will aber nur d(i)e(n) neue(n) haben

Was ich bis jetzt zusammengebracht habe ist folgendes:

function checkLogfile([string]$logfile, [string]$suchstring, [string]$email, [int]$checkrate){
$pass=ConvertTo-SecureString -String "" -AsPlainText -Force
$user=""
$myCred= New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $user, $pass
$indexGLOBAL=0
$indexSENT=0
while($true){
    Get-Content -Path $logfile | ForEach-Object {
       if($_ -match $suchstring) {
       $indexGLOBAL++
        if($indexGLOBAL -le $indexSENT){
            $indexSENT++
            Write-Host $_

            #send-mailmessage -to $email -subject "## checkLogfile Treffer ##" `
            #    -from "htl3rlabor@outlook.com" -Body $_ `
            #    -smtpserver "smtp.live.com" -Credential $myCred -port 587 -useSSL
    }
    Start-Sleep $checkrate

    }
}

}
}
checkLogfile -logfile "\\psf\Home\Desktop\setupact.log" -suchstring "cleanup" -email "" -checkrate 2



Viewing all articles
Browse latest Browse all 2314


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>