73 lines
7.8 KiB
PowerShell
73 lines
7.8 KiB
PowerShell
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 |