batch file wird nicht ausgeführt

Hallo, ich stehe auf dem Schlauch
Lasse mein NAS per batch datei runterfahren. Das hat auch immer funktioniert, jetzt nicht mehr.

IPS_Execute('C:\\IP-Symcon\batch
ashalt.bat', '', false, false);

:confused::confused:
Rufe ich die batchdatei aus dem Explorer (win7 32bit) auf, funktioniert sie.
Die Rechte sind vollzugriff für System

Hat jemand einen Tip?

lg Ralph

Seit wann geht es nicht mehr? Hast du gerade frisch auf Win 7 gewechselt?

paresy

Du könntest auch einfach, direkt über IPS-Scripte, über SSH, dein NAS herunterfahren!?

Gibt auch einige Infos dazu im Forum, ich hatte da auch mal ein Beispiel geposted.

Grüße,
Chris

Unter welchem Benutzer läuft der IPS Dienst?
Wenn du eine Batchdatei ausführst, dann läuft das unter deinem User (mit dem du am PC angemeldet bist)

Vom Kontext her ist das „anderst“.

Schreib doch mal den Inhalt deiner Batch hier rein… (Passwort kannst du ja entfernen :slight_smile: - Steht vermutlich im KLartext drin:D

Ich musste den Comp neu aufsetzen (vorher-Nachher Win7 32)
ip-Symcon kommt aus dem Backup.
User ist gleich wie vorher,

In der Batch Datei steht.
C:/IP-Symcon/batch/plink 192.168.3.57 -l admin -pw ---- halt

Der Ort ist der Selbe wie vorher.
Eine ander batch Datei im selben verzeichniss lässt sich aus dem script ausführen.

lg Ralph

IPS_Execute('C:\\IP-Symcon\batch
ashalt.bat', '', false, false);  

Wundert mich, dass das schon vorher so funktioniert hat…

Probiers mal so:

IPS_Execute('C:/IP-Symcon/batch/nashalt.bat', '', false, false);  

Siehe auch die Frage nach IPS_Execute im Test Bereich (Ubuntu, RaspberryPi, Mac OSX).

Viele Grüsse
Harald

Ist bei dem Windows-User der Fingerprint vom NAS in der Registry vorhanden ? Könnte mir vorstellen dass der dort noch fehlt, nach dem neu installieren von Win.
Wenn denn der User mit dem du die Batch per Hand startest ein anderer ist als der den IPS nutzt, könnte es das verhalten erklären.
Michael

Ah, das könnte sein.:slight_smile:
nur wie finde ich raus, welcher User IPS ist und wie kann ich dann diesem den Fingerprint geben.:confused:
Beim Aufruf aus der konsole wurde ich gefragt, ob der key gespeichert werden soll.

Oben schreibst du doch… User ist gleich wie vorher ???
Dann musst du es doch wissen.
Außer du hast nie etwas verändert dann läuft IPS imho unter dem Systemkonto. Musst dann den Key halt aus deinen User-Profil in das System-Profil bekommen.
Überlege gerade ich das mal mit dem Shutdown vom ESXi gemacht hatte per plink… verdammt Gedächtnis taugt gerade nix :wink:
Michael

Hallo Michael,
ich meinte oben damit, dass ich den Win7 Rechner aus meinem Acronis image wieder hergestellt habe. Dort gab es genau die User.
Jedoch habe ich im Laufe des Comp lebens erst später diese batch Datei erstellt, daher war diese nicht im Image.
Gibt es ev. die Möglichkeit, den IPS Dienst einem Konto zuzuweisen ( z.B. dem User, der die batch Datei ausführen kann und nicht dem System ).
Aber schon mal danke fürs Denken,
Ralph

Der Thread ist zwar schon uralt, aber ich habe das gleiche Problem…

Aus W10, dort ist die IPS Installation, ist zum Test eine Batch Datei im temp Verzeichnis hinterlegt, diese Datei hat alle Rechte. Mein W10 User hat Admin Rechte.

Wenn ich die Batch Datei manuell starte wird sie ausgeführt. Aus IPS heraus keine Chance, mit Powershell (mit und ohne Admin ) geht der in der Batch-Datei enthaltene Befehl ohne Probleme, es liegt also nicht am Befehl

Folgende Codezeilen gehen nicht…weder mit Slash noch mit Backslash, bin echt ratlos, ich habe an Rechteproblem gedacht, weiß nicht mehr wo ich schauen kann…

Jemand eine Idee?

IPS_Execute("C:\temp\transfer.bat","",false,false);
IPS_Execute("C:/temp/transfer.bat","",false,false);

Auf Windows sollte es mit einem Doppel Backslash funktionieren.

Hallo Ralf,
ich meine alle Alternativen versucht zu haben, ich habe es nicht hinbekommen.

Hast du möglicherweise ein Beispiel, evtl in Deiner eigenen IPS-Installation?

Ich habe kein Symcon auf Windows, aber folgendes sollte funktionieren
IPS_Execute("C:\\temp\\transfer.bat","",false,false);

Möglicherweise hat der Symcon Dienst keine Rechte auf deinen Pfad.

Du hast mir einen Denkanstoß gegeben, ich habe die Batch nun in das Symcon Script Verzeichnis kopiert, leider auch kein Erfolg.

Ich habe auch schon versucht Symcon Server Dienst mit einem anderen User zu starten, da bekomme ich sofort ein Fehler, im Log ist nichts enthalten, obwohl die Fehlermeldung sagt ich solle im Log schauen…

Die Doku gibt auch nichts her…

Auf meinem Raspi funktioniert folgendes ohne Probleme:

IPS_Execute("/usr/bin/lscpu", "", false, true);
exec("/usr/bin/lscpu", $wert, $value );
system("/usr/bin/lscpu", $value );

Was soll ein dein Batch machen bzw. woran machst du fest, dass er nicht läuft?

Die beiden besonderen Hinweise in der Doku „Vorsicht“ und „Achtung“ hast du gesehen?

Moin,

für Batchdateien unter Win 10 nutze ich immer IPS_ExecuteEx. Die Batchdateien selbst liegen im Media Verzeichnis. Da alle Batchaufrufe in einem zentralen Skript mittels define definiert sind, erfolgt der Aufruf dann wie folgt:

define ("KCD_START_HWINFO64", "IPS_ExecuteEx('C:/ProgramData/Symcon/media/HWiNFO64_Start.bat', '', false, false, -1);");
eval(KCD_START_HWINFO64);

Den Umweg über define muss man natürlich nicht machen. Entscheidend ist, dass in der Batchdatei keine Befehle stehen, die Admin Rechte benötigen.

Leider hilft das nicht viel, da die Aufrufe aus IPS nicht die Admin Rechte haben. Dieses Thema ist hier schon häufiger angesprochen worden. Such mal nach error 740. Das ist der Fehler der kommt, wenn eine Batchdatei ausgeführt werden soll und die Rechte nicht ausreichen.

Gruß
Hans

Moin,

hier Regelmäßige Datensicherung des ip-symcon Ordners - #15 von PC_Oldie findest du noch einige Infos, wie man auch eine Batchdatei aus IPS so aufrufen kann, dass alle Rechte vorhanden sind.

Gruß
Hans

Hallo zusammen,

Hintergrund: Ich arbeite an einem Backupsystem für die IPS Win10 Installation auf eine RPI und ich manipuliere mit einem SCP Befehl die statische IP Adresse des RPI in der dhcpcd.conf,

Auch wenn es sicher andere Wege gibt das zu lösen bin ich hartnäckig weil ich wissen will wo mein Problem liegt :slight_smile: ich danke Euch für die vielen Hilfen, ich schau mir auch Eure anderen Tipps an.

aktueller Stand:
Mit dem u.a. Befehl kann ich tatsächlich die Batchdatei ausführen:
Ich habe mit den verschl. Slash’s und Backslash versucht, aber das entscheidende ist wirklich IPS_ExecuteEX und nicht IPS_Execute

IPS_ExecuteEx("C:/temp/transfer.bat", "", false, false, -1);

Gruß
Jürgen