Wie erstelle ich eine Logfile mit Batch?

1 Antwort

Einen Log-File wofür?

Um etwas Aufzuzeichnen (loggen) musst Du erstmal wissen was Du loggen möchtest...

Batch ist die denkbar schlechteste Sprache um irgendwelche Abläufe zu verfolgen, da es über keine Möglichkeit verfügt sich in Ereignisketten einzuklinken. (wmic ist als Datenquelle obsolet)...

Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren

YourTechnic 
Fragesteller
 20.05.2022, 13:49

Eine Log-File die eventuell aufzeichnet welche Anwendung ich geöffnet habe und wann und für wie lange

0
Erzesel  20.05.2022, 15:58
@YourTechnic
Eine Log-File die eventuell aufzeichnet welche Anwendung ich geöffnet habe und wann und für wie lange

...ach so Du denkst Dir so... ach ja irgend was...🤔

Kannst Du in Batch total vergessen.

Ein ähnliches Thema hatte ich vor einiger Zeit schon mal:

Das folgende Powershellscript funktioniert nur bis Powershell 5.1. (WMI ist deprecaded und wird von neueren Powershellversionen nicht mehr unterstützt)

demo.ps1

 #WQL Abfrage an das WMI ermittle im Abstand von 1 Sekunde ein Löschereignis von der Processklasse ausgelöst wurde
$queryProcessClose = "SELECT * FROM __InstanceDeletionEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_Process'"
 # was bei eienm solchen §Ereigniss getan werden soll
$CloseAction = {
  $ProcName = $event.SourceEventArgs.NewEvent.TargetInstance.Name
  $ProcCreated = $event.SourceEventArgs.NewEvent.TargetInstance.CreationDate
  $LogString ='{0:g}: Process "{1}" started at: {2:g} has closed.' -f (Get-Date),$ProcName,$ProcCreated
  write-host $LogString
  $LogString | Out-File pocclose.log -Append
}
 # registriere ein Den Ereignisshandler
$null = Register-WMIEvent -Query $queryProcessClose -Action $CloseAction
Write-Host 'Warte auf Ereignissen'
while ($True) {sleep -m 100}
0