Hallo Gemeinde,
derzeit Laufe ich auf ein Performance-Problem, für das ich keine Erklärung habe.
Hier erstmal der Code.
Spoiler anzeigen
$strSQL = "SELECT * FROM Win32_NTLogEvent WHERE LogFile=""System"" AND SourceName =""Eventlog"" AND EventCode=""6005"""
$colItems = $objWMIService.ExecQuery($strSQL)
$strListe=""
$begin=TimerInit()
MsgBox(0,"Erster Zugriff auf Collection","Anzahl: " & $colItems.Count & " Zeit: " & TimerDiff($begin))
$begin=TimerInit()
For $objItem in $colItems
MsgBox(0,"For..IN",TimerDiff($begin))
$begin=TimerInit()
$strServerStartTime = $objItem.TimeWritten
MsgBox(0,"TimeWritten",TimerDiff($begin))
ExitLoop
Next
Das ExecQuery geht sehr schnell von statten.
Problematisch wird es beim ersten Zugriff auf $colItems.
MsgBox(0,"Erster Zugriff auf Collection","Anzahl: " & $colItems.Count
Der dauert über 100 Sekunden.
Interessanterweise verlagert sich das Problem in die Zeile
For $objItem in $colItems
, wenn man die oben angesprochenen Zeile auskommentiert.
Hat jemand eine zündende Idee?
Gruß,
exbge