obacht
Goto Top

Schleife soll solange die Daten verwerfen bis die Bedingung erfüllt ist

Hallo,

bin am verzweifeln…
ich lese ein Eventlog ein, mein Script macht soweit alles richtig, nur wenn ich das Script wieder starte liste es immer das gesamte Eventlog ein.

Der letzte Eintrag der bearbeitet wurde ist in eine Datei ( $event) weggeschrieben, dieser wird beim Start ausgelesen, anschließend im Eventlog nach dieser Zeile gesucht (die ich auch finde). Ab dieser Zeile möchte ich wieder mit der Überwachung bzw. weiteren Bearbeitung fortfahren.

Es geht um diesen Teil, hier sollte doch Void die Daten vernichten, bei einem Treffer der Zeile ($_ -eq $event), mittels $run=0 diese wieder verlassen und weiter mit den neuen Eventeinträgen machen. Was mache ich falsch?


$eventlog (Eventlog zumÜberwachen)
$event (letzter Eintrag der bearbeitet wurde)


bla….

get-content $eventlog -wait | Foreach {

if ($run -eq 1) {

if (!($_ -eq $event)) {

foreach ($i in $_) {
$foreach.Current
[void] $foreach.MoveNext()

$run = 0
}
}


else …
bla…..

Content-ID: 190998

Url: https://administrator.de/contentid/190998

Ausgedruckt am: 26.11.2024 um 07:11 Uhr

Dirmhirn
Dirmhirn 11.09.2012 um 09:25:16 Uhr
Goto Top
HI!

machst du mal code-blöcke um deinen code...

mit break oder continue kannst du normalerweise schleifen beenden.
Do while schleife wäre auch noch eine möglichkeit.

sg Dirm
Cthluhu
Cthluhu 11.09.2012 um 10:52:41 Uhr
Goto Top
Zitat von @obacht:
Hallo,
Hi

bin am verzweifeln…
ich lese ein Eventlog ein, mein Script macht soweit alles richtig, nur wenn ich das Script wieder starte liste es immer das
gesamte Eventlog ein.

Hier könnte eventuell ein "tail" abhilfe schaffen.

lg

Cthluhu