IPS_ExecuteEx

Danke.

IPS wird als lokales sytsem ausgeführt. Und bei Einbau der Pause muss ich das sehen. Gehe ich nach C:\IP-Symcon und führe den tftp-Befehl so aus, geht es. Warum nicht als IP-Dienst?

dos-box.JPG

ips-dienst.JPG

Muss die Session-ID nicht 1 sein ?

OK, falsch, gibt ne andere Fehlermeldung. :o

Gruß
Bruno

Hallo,

ich habe auch bei den Toni-Tools meine Sorgen, da ich direkt am IPS-Server angemeldet sein und auch die IPS-Console dort starten musste, um das Backup per IPS_ExecuteEx starten zu können. Ich denke nicht, dass das so sein muss, oder? Wenn ich nicht direkt an Windows angemeldet bin, welche ID braucht er dann?

Hi,
ich hatte nach Umstellung auf 2.5 auch Probleme mit dem Befehl.
Es geht bei mir, wenn ich die Auszuführende Datei nicht mehr in " sonder in ’ einklammere. Also z.B.:

IPS_ExecuteEx('C:/IP-Symcon-Daten/Hipath/abholen.bat', "", true, false, 2);

Damit funktioniert es bei mir wieder. Ansonsten kam im Meldungfenster: ‚Datei nicht gefunden‘
Vielleicht hilft es ja auch bei dir.

mfg
Smudo

Danke für den Tipp … Und wieder keinen Erfolg.:confused::confused::confused:
Was ist das denn nur für eine …

Hat keiner eine grundlegende Idee, was ich falsch mache?:confused:

Ich kann den Befehl auch nicht mit anderen Batchdateien ausführen, so dass ich den Fehler im IPS bzw. in Windows vermute und nicht an dem auszuführendem Batch bzw. Befehl.

Was mich wundert: RWN hatte geschrieben, das der Dienst als Systemdienst laufen muss. Dennoch muss ich eine ID des angemeldeten Users als letzten Paramter bei IPS_ExecuteEx angeben. Dieser ändert sich jedoch öfter bei verschiedenen Anmeldungen. Nun soll das Ding aber ohne aktive Windowsanmeldung am IPS-Server laufen. Das ist doch ein Widerspruch: Systemdienst und dann doch die SessionID eine angemeldeten Usersr? Habe im Forum gelesen, das ID 1 bis Windows XP, ID 2 für Vista/Win7 gelten solle.
Doch dann bekomme ich bei diesem Script

<?

IPS_ExecuteEx('C:/IP-Symcon-Daten/Hipath/abholen.bat', "", true, false, 2);

?>

diese Meldung:

Warning: There were no token found for specified session: 2 in [Testraum\HiPath ftp lesen] on line 3

Vergiss die Funktion und verwende stattdessen shell_execute, dann funktioniert es.

IPS_ExecuteEx ist ohnehin fehlerhaft, es besteht seit jeher ein Speicherleck.

Hallo Robert,

auch damit will es nicht. Ich dreh hier gleich ab:confused::confused::confused:

Habe schon verschiedene Schreibweise probiert - nichts. Habe das tftp.exe auch schon in meinen IPS-Daten-Ordner kopiert und dann die Rechte von SYSTEM als Vollzugriff bestimmt -NICHTS! Gleiches auch mit exec().

Ersetzt doch mal die Backslashes durch Slashes.

Meldung mit „Token“ kommt bei mir bei falscher Session-ID. Wo Du das Obige gelesen hast ? Die Doku sagt:

IPS_ExecuteEx: IP-Symcon :: Automatisierungssoftware

0 für XP, 1 ab 2003/Vista

Gruß
Bruno

Ich gebe zu: 0+1 statt 1+2:rolleyes:

Jetzt:

<? 

IPS_ExecuteEx('C:/IP-Symcon-Daten/Hipath/abholen.bat', "", true, false, 1); 

?> 

Warning: There were no token found for specified session: 1 in [Testraum\HiPath ftp lesen] on line 3

Und bei 0 kommt das Gleiche ?

Bei 0 (da IPS auf Win7 läuft) muss ja ein Fehler kommen :cool:-> aber lt. IPS-Console keinerlei Fehler. Aber auch keinerlei Ausführung der Batch.

Auch so nicht:

IPS_ExecuteEx("C:\\IP-Symcon-Daten\\Hipath\\abholen.bat", "", true, false, 0);

oder so:

IPS_ExecuteEx("C:\IP-Symcon-Daten\Hipath\abholen.bat", "", true, false, 0);

oder so:

IPS_ExecuteEx("C:/IP-Symcon-Daten/Hipath/abholen.bat", "", true, false, 0);

Oder kann ich da anders mit irgendeinem Socket (Client, Server…) was werden? Ist ja UDP. Gibts da was in IPS?

IPS_ExecuteEx('C:/IP-Symcon/automatic/datei.bat', "", true, false,1);

bei mir läufts so.

Das ist ja schön.
Arbeitest Du denn immer an dem PC, wo das IPS drauf läuft?
Es ist ja die Session-ID anzugeben (bei dir hier die 1), wenn ich doch gar nicht benutzermäßig angemeldet bin, woher kommt dann diese ID? Ist die immer fest? Oder im Windows eingestellt?

Damit diese Funktion funktioniert, muss am Server eine Session vorhanden sein. Wenn also keiner Angemeldet ist, kann diese Funktion gar nicht funktionieren. RDP ist auch eine Session… jedoch existiert diese natürlich nur so lange, wie lange jemand Angemeldet ist. Ihr könnt die vorhandenen Sessions im TaskManager nachsehen, beim Reiter, wo alles angemeldeten Benutzer angezeigt werden.

paresy

Siehste, bin ich doch gar nicht so doof:rolleyes:
Das war ja meine Vermutung. Aber wie kann ich diesen Befehl denn sonst absetzen? Ich bin ja sehr selten überhaupt per RDP drauf.

@paresy: Muss IPS als „Lokaler Dienst“ oder „Lokales System“ laufen, damit hier überhaupt was in diese Richtung funktioniert?

IPS muss als Systemdienst laufen. Sonst gibt es da noch ganz andere Fehlermeldungen :slight_smile:

Hast mal meine Idee von hier ausprobiert? http://www.ip-symcon.de/forum/f52/batch-werte-ip-symcon-zurueckgeben-16218/

paresy

Den Befehl im Link habe ich probiert, jedoch kann ich die tftp.exe nicht ausführen, da diese angeblich nicht gefunden wird. Sieht so aus, als wenn dies IPS nicht ausführen darf. Auch nicht mit c:\windows ftp.exe.

string(87) "Der Befehl „tftp“ ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

Ich muss doch noch mal fragen. Mittlerweile habe ich IPS auf Windows Home Server 2011 am Laufen. Da nun ein Server-OS habe ich mal irgendow gelesen, dass es immer eine ID 0 gibt, damit müßte dann doch IPS-ExecuteEx laufen. Aber auch hier nicht. Ist das doch ein Fehler von IPS?

IPS_Execute("C:/IP-Symcon-Daten/Hipath/abholen.bat", "", false, false);

Das soll ohne Benutzeranmeldung gehen. Bei mir aber auch nicht. Das direkt Ausführen der Batch funktioniert super. Nun soll das aber automatisch gehen, also ohne UND mit einer evtl. Benutzeranmeldung.