Hilfe zu CMD/BAT Skript startet powershell

Hallo zusammen,
irgenwie klappt das Starten eines simplen BAT Skript nicht und bräuchte etwas Hilfe dabei.

Ich möchte einzelne Hyper-V VMs starten und herunterfahren können. Dazu hab ich eine Hand voll BAT Skripte in denen folgendes steht. zB. (TS ist der VM-Name)

powershell C:\scripts\hyperv\hvcmd.ps1 "start TS"

Das BAT-Skript ansich funkioniert.

Nun war meine Idee ich erstelle ein Skript im IPS welches das BAT-Skript starten soll. Folgende versionen hab ich schon versucht.


<?
IPS_Execute("C:\scripts\hyperv\start-ts.bat", "", true, false);
?>

oder mit / statt \


<?
IPS_Execute("C:/scripts/hyperv/start-ts.bat", "", true, false);
?>

Beides leider ohene Erfolg.
Wo liegt denn hier der Hund begraben? Oder kann man powershell aus IPS direkt starten?

Danke im Voraus, Schorschie

Hallo Schorschie,

hast du das Problem inzwischen lösen können?

So sollte es gehen.



IPS_ExecuteEx("C:/Pfad/***.bat", "", true, false,1);


Leider Nein.
Ich habe den IPS Service mit einem Benutzeraccount am laufen.
Nutze ich folgenden Aufruf:

$script = 'C:/Scripts/SQL/WetterNews/runScriptPDF.bat';
$parameter = "";
IPS_Execute($script, $parameter, false, true);

Ist die powershell.exe ganz kurz im TaskManager zusehen, bricht jedoch ohne Fehlereintrag o.ä. sofort wieder ab.

Hi,
falls es noch jemand braucht:

Auf dem IPS in Admin-PowerShell:

Set-ExecutionPolicy RemoteSigned

Eine PS1-Datei z.B. mit:


Invoke-Command -ComputerName server-dns-name -ScriptBlock {stop-vm vm-name}
Start-Sleep -s 5
Invoke-Command -ComputerName server-dns-name -ScriptBlock {start-vm vm-name}

und dann im IPS-Script:


$query = shell_exec("powershell.exe -File c:/ordner/dateiname.ps1");
echo $query;

Ciao
HerbertF