537 lines
47 KiB
PowerShell
537 lines
47 KiB
PowerShell
# PowerShell 4.0 Script
|
||
# EMC² QuickScan Job Script zur automatischen
|
||
# Abarbeitung von Scan Dateien.
|
||
|
||
# Digital Data
|
||
# Ludwig-Rinn-Strasse 16
|
||
# 35452 Heuchelheim
|
||
# Tel.: 0641 / 202360
|
||
# E-Mail: info@didalog.de
|
||
|
||
# Version 1.0
|
||
# Letzte Aktualisierung: 05.08.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
|
||
|
||
#Requires –Version 4.0
|
||
|
||
#-----------------------------------------------------------------------------------------------------
|
||
############################ Zusätzliche Assemblys hinzufügen bzw. laden. ############################
|
||
#-----------------------------------------------------------------------------------------------------
|
||
|
||
#-----------------------------------------------------------------------------------------------------
|
||
######################################## Variablen definieren. #######################################
|
||
#-----------------------------------------------------------------------------------------------------
|
||
|
||
Set-Variable -Name ScriptName -Value (($MyInvocation.MyCommand.Name) -split "\.")[0].ToString() -Scope script
|
||
Set-Variable -Name ScriptPath -Value (Split-Path ($MyInvocation.MyCommand.Path)) -Scope script
|
||
Set-Variable -Name ConfigFile -Value "$ScriptPath\$ScriptName`_Settings.ini" -Scope script
|
||
Set-Variable -Name KonfigWerte -Value $NULL -Scope script
|
||
Set-Variable -Name ZeitStempel1 -Value $(Get-Date -Format 'ddMMyyyy_HHmmss') -Scope script
|
||
Set-Variable -Name Fehler -Value $NULL -Scope local
|
||
Set-Variable -Name LogDatei -Value "$ScriptName`_$ZeitStempel1.log" -Scope script
|
||
Set-Variable -Name LogEintrag -Value $NULL -Scope local
|
||
Set-Variable -Name LogPathListe -Value $NULL -Scope script
|
||
Set-Variable -Name LogPath -Value $NULL -Scope script
|
||
Set-Variable -Name LogPathEintrag -Value $NULL -Scope script
|
||
Set-Variable -Name LogKeepTime -Value 60 -Scope script
|
||
Set-Variable -Name ProzessTest -Value $NULL -Scope local
|
||
|
||
#-----------------------------------------------------------------------------------------------------
|
||
####################################### Funktionen definieren. #######################################
|
||
#-----------------------------------------------------------------------------------------------------
|
||
|
||
# Funktion um einen Pfad zu überprüfen und ggf. neu anzulegen, inkl. Fehlerbehandlung.
|
||
# Ruft Funktion "Func-Write-LogDatei -LogEintrag" auf, um Aktivitäten zu protokollieren.
|
||
Function Func-Pathüberprüfung
|
||
{
|
||
Param
|
||
(
|
||
[String]$Path
|
||
)
|
||
|
||
$PathTest = Test-Path -PathType Container $Path
|
||
Func-Write-LogDatei -LogEintrag "Checking Path $Path for existence."
|
||
IF ($PathTest -eq "True")
|
||
{
|
||
Func-Write-LogDatei -LogEintrag "Path $Path is already existence and can be used."
|
||
}
|
||
ELSE
|
||
{
|
||
Try
|
||
{
|
||
Func-Write-LogDatei -LogEintrag "Path $Path has to been created."
|
||
New-Item -Path $Path -ItemType directory -force -ErrorAction Stop
|
||
}
|
||
|
||
Catch
|
||
{
|
||
Func-Write-LogDatei -LogEintrag "ERROR: Unable to create Path."
|
||
Func-Write-LogDatei -LogEintrag "INFO: Maybe there is an access or rights Problem."
|
||
Func-Write-LogDatei -LogEintrag "Application was unplannd terminated."
|
||
EXIT
|
||
}
|
||
}
|
||
}
|
||
|
||
# Funktion um Logdateien zu schreiben.
|
||
Function Func-Write-LogDatei
|
||
{
|
||
Param
|
||
(
|
||
[string]$LogEintrag
|
||
)
|
||
|
||
# Der Fehlerindikator ($?) muss bereits zu Anfang abgefragt werden,
|
||
# da er von JEDEM funktionierenden Befehl wieder auf True gesetzt wird.
|
||
IF ($? -ne 'True')
|
||
{
|
||
Set-Variable -Name Fehler -Value 1
|
||
}
|
||
|
||
IF ($LogPath -eq $NULL)
|
||
{
|
||
|
||
Set-Variable -Name LogPathListe -Value @($LogPathListe)
|
||
Set-Variable -Name LogPathListe -Value ($LogPathListe += "$SkriptPath\Logs","$env:temp")
|
||
|
||
FOREACH ($LogPathEintrag in $LogPathListe)
|
||
{
|
||
$PathTest = Test-Path -PathType Container "$LogPathEintrag"
|
||
Write-Host "Pathüberprüfung: Prüfe ob LogPath bereits angelegt ist: $LogPathEintrag"
|
||
IF ($PathTest -eq "True")
|
||
{
|
||
Write-Host "Pathüberprüfung: LogPath $LogPathEintrag ist bereits angelegt!"
|
||
Set-Variable -Name LogPath -Value $LogPathEintrag
|
||
break
|
||
}
|
||
ELSE
|
||
{
|
||
Write-Host "Pathüberprüfung: LogPath $LogPathEintrag muss angelegt werden."
|
||
New-Item -Path $LogPathEintrag -ItemType directory -force -ErrorAction SilentlyContinue | Out-Null
|
||
$PathTest = Test-Path -PathType Container $LogPathEintrag
|
||
Write-Host "Pathüberprüfung: Prüfe ob Path erfolgreich angelegt werden konnte."
|
||
IF ($PathTest -eq "True")
|
||
{
|
||
Write-Host "Pathüberprüfung: Path $LogPathEintrag wurde erfolgreich angelegt."
|
||
Set-Variable -Name LogPath -Value $LogPathEintrag
|
||
break
|
||
}
|
||
ELSE
|
||
{
|
||
Write-Host "Pathüberprüfung: Path $LogPathEintrag konnte nicht angelegt werden."
|
||
Set-Variable -Name LogPath -Value $LogPathEintrag
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
ELSEIF ($LogPath -eq $env:temp)
|
||
{
|
||
Write-Warning "FEHLER: LogPath nicht zugreifbar oder nicht korrekt konfiguriert!"
|
||
Write-Warning "INFO: $LogPath - wird nun verwendet!"
|
||
Write-Warning "Programm wird trotzdem fortgesetzt."
|
||
}
|
||
|
||
Set-Variable -Name LogPath -Value $LogPath -scope script
|
||
|
||
Write-Host $LogEintrag
|
||
Add-content $LogPath\$LogDatei -value "$(Get-Date -Format 'dd.MM.yyyy')-$(Get-Date -Format 'HH:mm:ss'): $LogEintrag"
|
||
|
||
IF ($Fehler -eq 1)
|
||
{
|
||
Write-Host "Fehlermeldung: $error"
|
||
Add-content $LogPath\$LogDatei -value "$(Get-Date -Format 'dd.MM.yyyy')-$(Get-Date -Format 'HH:mm:ss'): Fehlermeldung: $error"
|
||
# Setze Fehlerspeicher zurück
|
||
$error.clear()
|
||
}
|
||
}
|
||
|
||
# Funktion um eine Textdatei (ASCII), komplett einzulesen.
|
||
Function Func-ReadConfigFile
|
||
{
|
||
Param
|
||
(
|
||
[String]$ConfigFile
|
||
)
|
||
|
||
Write-Host ""
|
||
Write-Host "Prüfe ob Konfigurationsdatei: $ConfigFile vorhanden ist."
|
||
$DateiTest = Test-Path -PathType Leaf $ConfigFile
|
||
IF ($DateiTest -eq "True")
|
||
{
|
||
Write-Host "Konfigurationsdatei ist vorhanden, fahre fort."
|
||
}
|
||
ELSE
|
||
{
|
||
Func-Write-LogDatei -LogEintrag "FEHLER: Konfigurationsdatei ist nicht vorhanden!"
|
||
Func-Write-LogDatei -LogEintrag "Programm wird ungeplant beendet."
|
||
EXIT
|
||
}
|
||
|
||
Write-Host "Konfigurationsdatei wird nun eingelesen."
|
||
Set-Variable -Name KonfigWerte -Value (Select-String -path $ConfigFile -pattern "=" | where {-not($_-match "#")})
|
||
IF ($KonfigWerte -eq $Null)
|
||
{
|
||
Write-Host "Keine gültigen Werte in Konfigurationsdatei erkannt!"
|
||
}
|
||
ELSE
|
||
{
|
||
Write-Host "Es wurden"$KonfigWerte.count"Zeilen aus der Konfigurationsdatei eingelesen."
|
||
#Write-Host "Folgende Werte wurden eingelesen:"
|
||
#Write-Host "$KonfigWerte"
|
||
}
|
||
|
||
Set-Variable -Name KonfigWerte -Value $KonfigWerte -Scope script
|
||
}
|
||
|
||
# Funktion um eine Textdatei (ASCII), komplett einzulesen.
|
||
# Gibt immer nur einen Wert zurück!
|
||
Function Func-ReadConfigValue
|
||
{
|
||
Param
|
||
(
|
||
[String]$KonfigBezeichner
|
||
)
|
||
|
||
$Funde = ($KonfigWerte.line | select-string -pattern "$KonfigBezeichner")
|
||
IF ($Funde -eq $NULL)
|
||
{
|
||
Write-Host "Der gesuchte Bezeichner ($KonfigBezeichner) konnte nicht gefunden werden!"
|
||
Write-Host "Standardwert wird verwendet!"
|
||
$KonfigBezeichner = (Get-Variable -Name $KonfigBezeichner -ValueOnly)
|
||
return $KonfigBezeichner
|
||
}
|
||
|
||
ELSEIF ($Funde.GetType() -like "*Microsoft.PowerShell.Commands.MatchInfo*" -or $Funde.GetType() -like "*String*")
|
||
{
|
||
$Funde = ($Funde -split "=")
|
||
$Funde = @($Funde)
|
||
$Funde = $Funde[1]
|
||
$Funde = ($Funde.TrimStart())
|
||
$Funde = ($Funde.TrimEnd())
|
||
return $Funde
|
||
}
|
||
|
||
ELSEIF ($Funde -is [Array])
|
||
{
|
||
return $funde
|
||
}
|
||
}
|
||
|
||
Function Func-Dateien-zusammensuchen
|
||
{
|
||
Param
|
||
(
|
||
[String]$SuchPath,
|
||
[Array]$SuchWhiteList,
|
||
[Array]$SuchBlackList
|
||
)
|
||
|
||
Set-Variable -Name SuchWhiteList -Value ($SuchWhiteList -Replace " ","")
|
||
Set-Variable -Name SuchWhiteList -Value ($SuchWhiteList -Split ",")
|
||
Set-Variable -Name SuchWhiteList -Value ($SuchWhiteList -Split ";")
|
||
|
||
Set-Variable -Name SuchBlackList -Value ($SuchBlackList -Replace " ","")
|
||
Set-Variable -Name SuchBlackList -Value ($SuchBlackList -Split ",")
|
||
Set-Variable -Name SuchBlackList -Value ($SuchBlackList -Split ";")
|
||
|
||
$Funde = Get-ChildItem -Path "$SuchPath" -include $SuchWhiteList -exclude $SuchBlackList
|
||
IF ($Funde -eq $NULL)
|
||
{
|
||
Func-Write-LogDatei -LogEintrag "Could not find any File(s) in Path: $SuchPath (regard on White and Black Lists)."
|
||
}
|
||
ELSE
|
||
{
|
||
Func-Write-LogDatei -LogEintrag "Could find some File(s) in Path: $SuchPath (regard on White and Black Lists) ..."
|
||
FOREACH ($Fund in $Funde)
|
||
{
|
||
Func-Write-LogDatei -LogEintrag "...one Found is: $Fund"
|
||
}
|
||
return $Funde
|
||
}
|
||
}
|
||
|
||
#-----------------------------------------------------------------------------------------------------
|
||
####################################### Vorbereitende Arbeiten. ######################################
|
||
#-----------------------------------------------------------------------------------------------------
|
||
|
||
# Lösche evtl. anzeigen.
|
||
Clear-Host
|
||
|
||
# Konfigurationsdatei komplett einlesen.
|
||
Func-ReadConfigFile -ConfigFile $ConfigFile
|
||
|
||
# Werte aus Konfigurationsdatei bereitstellen.
|
||
$LogPathListe = (Func-ReadConfigValue -KonfigBezeichner LogPath)
|
||
$LogKeepTime = (Func-ReadConfigValue -KonfigBezeichner LogKeepTime)
|
||
|
||
$SCStartListe = (Func-ReadConfigValue -KonfigBezeichner SCStart)
|
||
$SCRestartListe = (Func-ReadConfigValue -KonfigBezeichner SCRestart)
|
||
$SCStopListe = (Func-ReadConfigValue -KonfigBezeichner SCStop)
|
||
|
||
|
||
FOREACH ($SCStartZeile in $SCStartListe)
|
||
{
|
||
Write-Host ""
|
||
Write-Host "Folgende Zeilen wurden ausgelesen: --> $SCStartZeile <--"
|
||
|
||
$Zähler++
|
||
|
||
IF ($SCStartZeile -is [String])
|
||
{
|
||
$SCStartZeile = @($SCStartZeile)
|
||
$SCStartZeile = ($SCStartZeile -split ";")
|
||
$SCStartZeile = ($SCStartZeile -split ",")
|
||
}
|
||
|
||
ELSE
|
||
{
|
||
$SCStartZeile = @($SCStartZeile)
|
||
$SCStartZeile = ($SCStartZeile -Split "=" )
|
||
$SCStartZeile = ($SCStartZeile[1])
|
||
$SCStartZeile = ($SCStartZeile -split ";")
|
||
$SCStartZeile = ($SCStartZeile -split ",")
|
||
}
|
||
|
||
[System.Collections.ArrayList]$SCStartWerte = @()
|
||
|
||
# Werte in Array werden auseinandergenommen und neu zusammengefügt, um Leerzeichen zu entfernen.
|
||
FOREACH ($SCStartWert in $SCStartZeile)
|
||
{
|
||
$SCStartWert = ($SCStartWert.TrimStart())
|
||
$SCStartWert = ($SCStartWert.TrimEnd())
|
||
$SCStartWerte.Add($SCStartWert)
|
||
}
|
||
|
||
IF ($SCStartWerte -eq $NULL)
|
||
{
|
||
Write-Host "Der erwarteter Wert ist leer!"
|
||
Write-Host "Standardwert wird eingetragen!"
|
||
|
||
Remove-Variable $SCStartWerte -Force
|
||
Remove-Variable $SCStartZeile -Force
|
||
#Set-Variable -Name ("OutputRegel"+$Zähler) -value "Standard" -Scope script
|
||
}
|
||
|
||
ELSE
|
||
{
|
||
Write-Host ("SCStart"+$Zähler) wurde als Variable gesetzt und hat folgende Werte bekommen: $SCStartWerte
|
||
Set-Variable -Name ("SCStart"+$Zähler) -value $SCStartWerte -Scope script
|
||
}
|
||
}
|
||
|
||
FOREACH ($SCRestartZeile in $SCRestartListe)
|
||
{
|
||
Write-Host ""
|
||
Write-Host "Folgende Zeilen wurden ausgelesen: --> $SCStopZeile <--"
|
||
|
||
$Zähler++
|
||
|
||
IF ($SCRestartZeile -is [String])
|
||
{
|
||
$SCRestartZeile = @($SCRestartZeile)
|
||
$SCRestartZeile = ($SCRestartZeile -split ";")
|
||
$SCRestartZeile = ($SCRestartZeile -split ",")
|
||
}
|
||
|
||
ELSE
|
||
{
|
||
$SCRestartZeile = @($SCRestartZeile)
|
||
$SCRestartZeile = ($SCRestartZeile -Split "=" )
|
||
$SCRestartZeile = ($SCRestartZeile[1])
|
||
$SCRestartZeile = ($SCRestartZeile -split ";")
|
||
$SCRestartZeile = ($SCRestartZeile -split ",")
|
||
}
|
||
|
||
[System.Collections.ArrayList]$SCRestartWerte = @()
|
||
|
||
# Werte in Array werden auseinandergenommen und neu zusammengefügt, um Leerzeichen zu entfernen.
|
||
FOREACH ($SCRestartWert in $SCRestartZeile)
|
||
{
|
||
$SCRestartWert = ($SCRestartWert.TrimStart())
|
||
$SCRestartWert = ($SCRestartWert.TrimEnd())
|
||
$SCRestartWerte.Add($SCRestartWert)
|
||
}
|
||
|
||
IF ($SCRestartWerte -eq $NULL)
|
||
{
|
||
Write-Host "Der erwarteter Wert ist leer!"
|
||
Write-Host "Standardwert wird eingetragen!"
|
||
|
||
Remove-Variable $SCRestartWerte -Force
|
||
Remove-Variable $SCRestartZeile -Force
|
||
#Set-Variable -Name ("OutputRegel"+$Zähler) -value "Standard" -Scope script
|
||
}
|
||
|
||
ELSE
|
||
{
|
||
Write-Host ("SCRestart"+$Zähler) wurde als Variable gesetzt und hat folgende Werte bekommen: $SCRestartWerte
|
||
Set-Variable -Name ("SCRestart"+$Zähler) -value $SCRestartWerte -Scope script
|
||
}
|
||
}
|
||
|
||
|
||
FOREACH ($SCStopZeile in $SCStopListe)
|
||
{
|
||
Write-Host ""
|
||
Write-Host "Folgende Zeilen wurden ausgelesen: --> $SCStopZeile <--"
|
||
|
||
$Zähler++
|
||
|
||
IF ($SCRestartZeile -is [String])
|
||
{
|
||
$SCStopZeile = @($SCStopZeile)
|
||
$SCStopZeile = ($SCStopZeile -split ";")
|
||
$SCStopZeile = ($SCStopZeile -split ",")
|
||
}
|
||
|
||
ELSE
|
||
{
|
||
$SCStopZeile = @($SCStopZeile)
|
||
$SCStopZeile = ($SCStopZeile -Split "=" )
|
||
$SCStopZeile = ($SCStopZeile[1])
|
||
$SCStopZeile = ($SCStopZeile -split ";")
|
||
$SCStopZeile = ($SCStopZeile -split ",")
|
||
}
|
||
|
||
[System.Collections.ArrayList]$SCRestartWerte = @()
|
||
|
||
# Werte in Array werden auseinandergenommen und neu zusammengefügt, um Leerzeichen zu entfernen.
|
||
FOREACH ($SCStopWert in $SCStopZeile)
|
||
{
|
||
$SCStopWert = ($SCStopWert.TrimStart())
|
||
$SCStopWert = ($SCStopWert.TrimEnd())
|
||
$SCStopWerte.Add($SCStopWert)
|
||
}
|
||
|
||
IF ($SCStopRestartWerte -eq $NULL)
|
||
{
|
||
Write-Host "Der erwarteter Wert ist leer!"
|
||
Write-Host "Standardwert wird eingetragen!"
|
||
|
||
Remove-Variable $SCStopWerte -Force
|
||
Remove-Variable $SCStopZeile -Force
|
||
#Set-Variable -Name ("OutputRegel"+$Zähler) -value "Standard" -Scope script
|
||
}
|
||
|
||
ELSE
|
||
{
|
||
Write-Host ("SCStop"+$Zähler) wurde als Variable gesetzt und hat folgende Werte bekommen: $SCStopWerte
|
||
Set-Variable -Name ("SCStop"+$Zähler) -value $SCStopWerte -Scope script
|
||
}
|
||
}
|
||
|
||
#-----------------------------------------------------------------------------------------------------
|
||
####################################### Hauptprogramm starten. #######################################
|
||
#-----------------------------------------------------------------------------------------------------
|
||
Write-Host ""
|
||
Func-Write-LogDatei -LogEintrag "*******************************************************************************************"
|
||
Func-Write-LogDatei -LogEintrag "Program Startup: $ScriptName on $env:computername from Account $env:USERDOMAIN\$env:USERNAME."
|
||
Func-Write-LogDatei -LogEintrag "*******************************************************************************************"
|
||
|
||
|
||
IF ($($SCStartListe.count) -gt 0)
|
||
{
|
||
Func-Write-LogDatei -LogEintrag "There are $($SCStartListe.count) out of max. 9 SCStart Entrys, processing by now."
|
||
|
||
# Zähler zurücksetzen
|
||
$Zähler = $NULL
|
||
|
||
# Schleife für jede Eintrag bzw. Zeile in der Konfigurationsdatei wird eingeleitet.
|
||
FOREACH ($SCStart in $(get-variable -Name SCStart?))
|
||
{
|
||
$Zähler++ | out-null
|
||
|
||
Func-Write-LogDatei -LogEintrag ""
|
||
Func-Write-LogDatei -LogEintrag "--> Verarbeitung von $((Get-Variable -name ("SCStart"+$Zähler)).name) wird gestartet."
|
||
Func-Write-LogDatei -LogEintrag "Folgende Werte wurden übergeben: $(get-variable -name ("SCStart"+$Zähler) -ValueOnly)."
|
||
|
||
Try
|
||
{
|
||
$ProcessTest = Get-Service -Name $(get-variable -name ("SCStart"+$Zähler) -ValueOnly)
|
||
|
||
IF ($Processtest.Status -eq "Running")
|
||
{
|
||
Func-Write-LogDatei -LogEintrag "Service - $($ProcessTest.Name) - is currently Running."
|
||
Func-Write-LogDatei -LogEintrag "Can not start it because it is already running."
|
||
}
|
||
|
||
ELSEIF ($Processtest.Status -eq "Stopped")
|
||
{
|
||
Func-Write-LogDatei -LogEintrag "Service - $($ProcessTest.Name) - is currently stopped."
|
||
Func-Write-LogDatei -LogEintrag "Starting Service now."
|
||
Start-Service $ProcessTest.Start()
|
||
}
|
||
|
||
ELSE
|
||
{
|
||
Func-Write-LogDatei -LogEintrag "Can not deal with Service - $($Processtest.Status)."
|
||
}
|
||
}
|
||
|
||
Catch
|
||
{
|
||
Func-Write-LogDatei -LogEintrag "Service does not exist or access denied!"
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
#-----------------------------------------------------------------------------------------------------
|
||
####################################### Abschließende Arbeiten. ######################################
|
||
#-----------------------------------------------------------------------------------------------------
|
||
|
||
# Löschen alter Log-Dateien.
|
||
Func-Write-LogDatei -LogEintrag ""
|
||
Func-Write-LogDatei -LogEintrag "-------------------------------------------------------------------------------------------"
|
||
Func-Write-LogDatei -LogEintrag "Checking for expiered Log Files."
|
||
Func-Write-LogDatei -LogEintrag "-------------------------------------------------------------------------------------------"
|
||
IF ($LogKeepTime -gt 0)
|
||
{
|
||
Func-Write-LogDatei -LogEintrag "Log Files should be removed which are older than $LogKeepTime Day(s)."
|
||
$Funde = (Func-Dateien-zusammensuchen -SuchPath "$LogPath\*" -SuchWhiteList *.log | where {$_.Name -like "*$SkriptName*" -and $_.lastwritetime -lt $((Get-Date).AddDays(-$LogKeepTime)) -and -not $_.psiscontainer})
|
||
IF ($Funde -eq $null)
|
||
{
|
||
Func-Write-LogDatei -LogEintrag "Keine zu löschenden Log-Dateien vorhanden."
|
||
}
|
||
ELSE
|
||
{
|
||
Func-Write-LogDatei -LogEintrag "Dateien gefunden, folgende Log-Dateien werden aufgund ihres alters gelöscht:"
|
||
FOREACH ($Fund in $Funde)
|
||
{
|
||
Func-Write-LogDatei -LogEintrag "Log-Datei: $Fund wird entfernt."
|
||
Remove-Item -Path $Fund -Force -Verbose
|
||
}
|
||
}
|
||
}
|
||
ELSE
|
||
{
|
||
Func-Write-LogDatei -LogEintrag "Sie haben in der Konfigurationsdatei angegeben, das Log Dateien nicht automatisch gelöscht werden sollen!"
|
||
}
|
||
|
||
Func-Write-LogDatei -LogEintrag ""
|
||
Func-Write-LogDatei -LogEintrag "*******************************************************************************************"
|
||
Func-Write-LogDatei -LogEintrag "Program Finish: $ScriptName on $env:computername from Account $env:USERDOMAIN\$env:USERNAME."
|
||
Func-Write-LogDatei -LogEintrag "*******************************************************************************************"
|
||
|
||
# Definierte Variablen wieder löschen, damit sie nicht im Arbeitsspeicher verbleiben.
|
||
|
||
|
||
|
||
$error.clear() |