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