61 lines
2.0 KiB
PowerShell
61 lines
2.0 KiB
PowerShell
# PowerShell 4.0 Script
|
|
# Log Datei schreiben
|
|
|
|
# Digital Data
|
|
# Ludwig-Rinn-Strasse 16
|
|
# 35452 Heuchelheim
|
|
# Tel.: 0641 / 202360
|
|
# E-Mail: info@didalog.de
|
|
|
|
# Version 1.0
|
|
# Letzte Aktualisierung: 15.04.2014
|
|
|
|
# Mindestanforderung für dieses Skript:
|
|
# Microsoft Windows 7 SP1 / Server 2008 R2 SP1 -> siehe KB976932
|
|
# Microsoft .NET Framework 4.5 -> siehe KB2858728
|
|
# Microsoft PowerShell 4.0 -> siehe KB2819745
|
|
|
|
# WICHTIG: Falls sich dieses Skript nicht ausführen lässt,
|
|
# muss dieser PS-Befehl noch mit administrativen Rechten ausgeführt werden:
|
|
# set-executionpolicy unrestricted
|
|
|
|
# Definition der Variablen
|
|
|
|
Set-Variable -name SkriptName -value $MyInvocation.MyCommand.Name -Description "Name dieser Datei, wird verwendet, für Erstellung von Logs."
|
|
Set-Variable -name timestamp -value $(Get-Date -Format 'ddMMyyyy_hhmmss') -Description "Datum wird in einem gewissen Format aufbereitet und dann Log-Dateien anhangen."
|
|
Set-Variable -name LogPath -value "e:\" -Description "Pfad für Log-Dateien."
|
|
Set-Variable -name Logfile -value "$SkriptName`_$timestamp.log" -Description "Name für Log-Dateien."
|
|
Set-Variable -name LogEntfernen -value $(Get-Date).AddDays(-1) -Description "Zahlenwert, wie lange Log-Dateien aufbewahrt werden sollen z.B. -30 = 30 Tage aufbewahren."
|
|
|
|
# Definition der Funktionen
|
|
|
|
Function LogWrite
|
|
{
|
|
Param ([string]$logstring)
|
|
|
|
Add-content $LogPath\$Logfile -value $logstring
|
|
Write-Host $logstring
|
|
}
|
|
|
|
Function CheckPath
|
|
{
|
|
Test-Path ()
|
|
}
|
|
|
|
# Überprüfen ob Logpfad angelegt ist, wenn nicht vorhanden, wird er angelegt.
|
|
|
|
|
|
# Eigentlicher Programmstart.
|
|
|
|
Sub Main
|
|
|
|
LogWrite "Programmstart am $(Get-Date -Format dd.MM.yyyy) um $(Get-Date -Format hh.mm.ss) auf $env:COMPUTERNAME."
|
|
LogWrite "Die Ausführung erfolgt unter dem Konto: $env:USERDNSDOMAIN\$env:USERNAME."
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
# Löschen alter Log-Dateien.
|
|
|
|
get-childitem “$LogPath ” | where {$_.lastwritetime -lt $LogEntfernen -and -not $_.psiscontainer} |% {remove-item $_.fullname -force -verbose } |