IPS_Execute mit IPS 6.3

Hallo,

ich habe heute ein Update auf die Version: „IP-Symcon 6.3, Windows (amd64), 25.12.2022, 02625c0a25d0“ gemacht.

Seitdem bekomme ich alle 5 Minuten mit dem folgenden Script, die folgenden Fehler:

Wenn ich in einer Eingabeaufforderung auf dem Server (Windows Server 2016) das Kommando: „net statistics server“ ausführe, erhalte ich die Serverstatistik für meinen Server angezeigt.

Was muss ich ändern, damit es wieder fehlerfrei funktioniert???

Grüße
Proxima

Magst du versuchen alles hinter cmd in den 2. Parameter tun?

paresy

Hallo,

hab das mit dem folgenden Ergebnis probiert:

Hast Du bitte einen Codeschnipsel, wie genau ich es probieren soll.

Grüße
Proxima

Hi,
geb mal die kompletten Pfade zu cmd und findstr an. Sieht so aus als wenn Path für den IPS-Benutzer nicht so ist wie bei dir als Benutzer.

Ralf

Hi,

hab jetzt folgendes, mit dem Ergebnis versucht:

Ich glaube auch nicht das es am Pfad liegt, da das Script vor dem Update am 26.12. funktioniert hat und außer dem IPS-Update nichts verändert wurde.

Was kann ich noch versuchen ???

Grüße
Proxima

Hi,
versuch mal einfach Notepad ohne Parameter zu starten. Ich bin mir nicht ganz sicher aber muss es nicht ‚C:\Windows‘ heißen weil \ Start eines Sonderzeichens wie z.B. \r\n bedeutet?

Ralf

Nicht bei einfachen Anführungszeichen.
Aber @Proxima
Versuch doch einmal den Fehler einzugrenzen.
Ist ja nicht nachvollziehbar wer hier das fehlende File bemängelt.
Also erst nur cmd versuchen, dann ob net ausgeführt wird usw…
Michael

Sorry für die lange Wartezeit. So funktioniert es bei mir wieder:

echo IPS_Execute('C:\Windows\System32\cmd.exe', '/c net statistics Arbeitsstationsdienst | findstr /i "Statistik seit"', false, true);

Oder einfacher

$str = IPS_Execute('C:\Windows\System32\net.exe', 'statistics Arbeitsstationsdienst', false, true);
preg_match("/seit(.*)/", $str, $match);
echo $match[1];

paresy

Hallo zusammen, hallo @paresy,

ich nutze IPS_Execute um Systeminfo-Daten in Windows auszulesen.

Mit der Version 6.3-353 funktionierte folgende Zeile noch:

$result=IPS_Execute ("systeminfo","",false,true);

Nach dem Update auf die 6.3-378 erhalte ich den Hinweis:

Warning: File does not exist in C:\ProgramData\Symcon\scripts\12187.ips.php on line 38

Aufgrund diesen Threads und der Erwähnung im Changelog zum Update habe ich nun Anpassungen versucht.

Ich habe folgende Schreibweisen versucht:

$result=IPS_Execute('C:\Windows\System32\systeminfo.exe','',false,true); 
$result=IPS_Execute("C:\Windows\System32\systeminfo.exe","",false,true);
$result=IPS_Execute('C:\Windows\System32\cmd.exe','/c systeminfo',false,true);
$result=IPS_Execute('C:\Windows\System32\cmd.exe','/c C:\Windows\System32\systeminfo.exe',false,true);

Mit der 6.3-378 erhalte ich leider jeweils eine Endlosschleife, wo nur noch ein Windows-Neustart hilft. Am System kann es m.E. nicht liegen. Ich habe es auch bereits auf einem zweiten Rechner zum Testen versucht. Installiere ich die Version 6.3-353 läuft der „neue“ Befehl. Installiere ich die 6.3-378 geht es nicht mehr.

Was hingegen unter der 6.3-378 läuft ist folgendes:

$result= IPS_Execute('C:\Windows\System32\cmd.exe', '/c systeminfo | find "BIOS-Version"', false, true);

Wäre toll, wenn mir jemand helfen kann, damit ich auch ohne „find…“ weiter arbeiten kann. Ich frage „systeminfo“ einmal ab und ziehe dann mehrere Infos aus dem Ergebnis. Ich möchte ungerne jede Info einzeln abfragen.

Viele Grüße
André

Hallo André,

ich hatte auch dieses Problem und habe verschieden Schreibweisen ausprobiert.

Letztendlich funktioniert bei mir diese:

Gruß, Peter

Hallo Peter,

bist Du schon auf der aktuellsten stable (-378) ?
IP-Symcon 6.3, Windows (amd64), 22.01.2023, 4fba31afbb22

Mit der stable (-353) IP-Symcon 6.3, Windows (amd64), 29.11.2022, 07e763adc3e2 funktioniert die Zeile bei mir noch. Erst mit der -378 geht es bei mir nicht mehr.

Gruß,
André

ja, habe die neueste Version: IP-Symcon 6.3, Windows (amd64), 22.01.2023, 4fba31afbb22