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-Key: 190998

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

Printed on: April 26, 2024 at 16:04 o'clock

Member: Dirmhirn
Dirmhirn Sep 11, 2012 at 07:25:16 (UTC)
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
Member: Cthluhu
Cthluhu Sep 11, 2012 at 08:52:41 (UTC)
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