8
0
Skriptentwickung/archive/Modules/Start-PSS-withLogging.psm1
2024-01-24 16:42:38 +01:00

73 lines
7.8 KiB
PowerShell
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Function Run-VBS {
FOREACH ($RunVBSZeile in $RunVBSListe)
{
Func-Write-Logfile -LogEintrag ""
Func-Write-Logfile -LogEintrag "Starte Ausführung für VB-Skripte."
Write-Host "Folgende Zeilen wurden ausgelesen: --> $RunVBSZeile <--"
$RunVBSZeile = ($RunVBSZeile -split "''")
$RunVBSZeile = ($RunVBSZeile -split "' '")
$RunVBSZeile = ($RunVBSZeile -split "' '")
IF ($RunVBSZeile[0] -gt "")
{
Write-Host "Erster übergebender Wert: $($RunVBSZeile[0])"
$RunVBSZeile[0] = $RunVBSZeile[0] -replace ("'","")
IF ($RunVBSZeile[1] -gt "")
{
Write-Host "Zweiter übergebender Wert: $($RunVBSZeile[1])"
$RunVBSZeile[1] = $RunVBSZeile[1] -replace ("'","")
IF ($RunVBSZeile[2] -gt "")
{
Write-Host "Dritter übergebender Wert: $($RunVBSZeile[2])"
$RunVBSZeile[2] = $RunVBSZeile[2] -replace ("'","")
}
}
IF ((Test-Path -Path "$($RunVBSZeile[0])" -PathType Leaf) -eq "True")
{
Try
{
Func-Write-Logfile -LogEintrag "Starte die Datei / das Programm $($RunVBSZeile[0])."
$RunVBS = Start-Process wscript.exe -ArgumentList "$($RunVBSZeile[0]) $($RunVBSZeile[1]) $($RunVBSZeile[2])" -Passthru
Wait-Process -ID $RunVBS.Id -Timeout $RunVBSTimeout -ErrorAction Stop
}
Catch
{
Try
{
Func-Write-Logfile -LogEintrag "Da der definierte Timeout überschritten wurde ($RunVBSTimeout Sekunden), wird nun versucht die Datei / das Programm zu beenden."
Stop-Process -ID $RunVBS.Id -Force -ErrorAction Stop
}
Catch
{
Func-Write-Logfile -LogEintrag "FEHLER: bei RunEXE die Datei / das Programm - $($RunVBSZeile[0]) - kann nicht beendet werden."
Func-Write-Logfile -LogEintrag "INFO: Möglicherweise müssen Sie den Computer neustarten!"
Func-Write-Logfile -LogEintrag "Programm wird ungeplant beendet."
break
}
}
}
ELSE
{
Func-Write-Logfile -LogEintrag "FEHLER: bei RunEXE die Datei / das Programm - $($RunVBSZeile[0]) - kann nicht ausgeführt werden."
Func-Write-Logfile -LogEintrag "INFO: Die Datei / das Programm ist nicht vorhanden oder es kann nicht auf sie zugegiffen werden."
Func-Write-Logfile -LogEintrag "Programm wird trotzdem fortgesetzt."
}
}
ELSE
{
Func-Write-Logfile -LogEintrag "FEHLER: bei RunEXE es wurde keine Datei / oder ein Programm zur Ausführung angegeben."
Func-Write-Logfile -LogEintrag "INFO: Überprüfen Sie Ihre Konfigurationsdatei!"
Func-Write-Logfile -LogEintrag "Programm wird trotzdem fortgesetzt."
}
}
}
Export-ModuleMember Run-VBS