Hallo,
ich beschäftige mich seit kurzem mit Powershell und habe gleich mal eine Frage.
Damit ich Aktionen in ein Log-File schreiben kann, möchte ich eine Funktion schreiben die mir den evtl fehlenden Pfade erstellt. Weiter muss ich testen ob die Log-Datei besteht um Text anzufügen oder neu erstellen wenn diese noch nicht existiert.
Habe dann folgende Funktion geschrieben, aber ich bekomme die Pfade angeleg, allerdings wird auch der Filename als Pfad angelegt.
Jetzt würde ich gerne wissen ob ich total falsch liege und ob es für diesen Zweck eine wesentlich bessere Vorgehensweise gibt, ich bin wohl auf dem falschen Weg...
function write-log { param ( [string] $filename, [array] $text, [switch] $passtrue = $false ) # Array auflösen und zu einer Text-Zeile binden $Text = $Text -join (" ") # Datum und Zeit für Log-Eintrag $currentTimeStamp = Get-Date -Format "dd.MM.yyyy HH:mm" # Log-Pfad und -Datei erstellen wenn noch nicht vorhanden if (!(Test-Path -path $filename -ErrorAction SilentlyContinue )) { # Pfad anlegen wenn nicht vorhanden if (!(Test-Path -Path $filename)) { New-Item -Path $filename -ItemType Directory -ErrorAction SilentlyContinue # | Out-Null } # Datei anlegen wenn nicht vorhanden if (!(Test-Path $filename)) { New-Item $filename -ItemType File -ErrorAction SilentlyContinue } # Eintrag hinzufügen Add-Content $filename -Value $text } }
Viele Grüsse,
Maximilian