Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Skript EXEC geht nicht

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.2k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Skript EXEC geht nicht

Geplant Angeheftet Gesperrt Verschoben JavaScript
19 Beiträge 4 Kommentatoren 907 Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • NamrennerN Namrenner

    @bananajoe said in Skript EXEC geht nicht:

    C:\temp\test.txt\

    Hallo,
    Benutzer steht: NT SERVICE\iobroker(SmartHome)
    mit dem ~~echo und C:\temp\test.txt~~
    kannst mit genauer schreiben, sorry, danke

    BananaJoeB Online
    BananaJoeB Online
    BananaJoe
    Most Active
    schrieb am zuletzt editiert von
    #4

    @namrenner
    Erstelle einen Ordner C:\temp\ und ändere ggf. die Berechtigungen das der Benutzer iobroker schreiben darf.

    exec('echo cmd.exe /c start "psshutdown.exe -r \\192.168.1.2 -u xxxxxx -p xxxxxx" >c:\temp\test.txt', function(err, stdout, stderr) {
        if (err) {
            log(err,'err');
            log(stderr,'stderr');
            log(stdout,'stdout');
            return;
         }
     });
    

    ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

    NamrennerN 1 Antwort Letzte Antwort
    0
    • BananaJoeB BananaJoe

      @namrenner
      Erstelle einen Ordner C:\temp\ und ändere ggf. die Berechtigungen das der Benutzer iobroker schreiben darf.

      exec('echo cmd.exe /c start "psshutdown.exe -r \\192.168.1.2 -u xxxxxx -p xxxxxx" >c:\temp\test.txt', function(err, stdout, stderr) {
          if (err) {
              log(err,'err');
              log(stderr,'stderr');
              log(stdout,'stdout');
              return;
           }
       });
      
      NamrennerN Offline
      NamrennerN Offline
      Namrenner
      schrieb am zuletzt editiert von
      #5

      @bananajoe
      bekomme Zugriff verweigert
      haben den Ordner für jeder Berechtigung geben

      1 Antwort Letzte Antwort
      0
      • NamrennerN Offline
        NamrennerN Offline
        Namrenner
        schrieb am zuletzt editiert von
        #6

        habe anderen Ordner genommen D:\Iobroker.
        Bekomme keine Meldung und den Ordner ist auch keine Datei test.txt drin

        BananaJoeB 1 Antwort Letzte Antwort
        0
        • NamrennerN Namrenner

          habe anderen Ordner genommen D:\Iobroker.
          Bekomme keine Meldung und den Ordner ist auch keine Datei test.txt drin

          BananaJoeB Online
          BananaJoeB Online
          BananaJoe
          Most Active
          schrieb am zuletzt editiert von BananaJoe
          #7

          @namrenner mir ist heute beim Kochen noch was dazu eingefallen:
          psshutdown.exe ist doch aus der Sysinternalsuite? da muss man doch einmal die Lizenzbedingungen annehmen - und das kannst du nicht. Du müsstest die psshutdown.exe einmal als Benutzer iobroker starten und die Bedingungen annehmen.

          Die Lizenzbedingungen muss man einmal pro *.exe annehmen

          ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

          1 Antwort Letzte Antwort
          0
          • NamrennerN Offline
            NamrennerN Offline
            Namrenner
            schrieb am zuletzt editiert von
            #8

            @bananajoe
            Danke, leider habe ich wenig Erfahrung, wie mache dies nun?

            Was komisch ist, wenn ich per Skript in js, kommt nichts, per blockly, ist die Datei test.txt da, aber der Befehl geht nicht.

            BananaJoeB SokomotoS 2 Antworten Letzte Antwort
            0
            • NamrennerN Namrenner

              @bananajoe
              Danke, leider habe ich wenig Erfahrung, wie mache dies nun?

              Was komisch ist, wenn ich per Skript in js, kommt nichts, per blockly, ist die Datei test.txt da, aber der Befehl geht nicht.

              BananaJoeB Online
              BananaJoeB Online
              BananaJoe
              Most Active
              schrieb am zuletzt editiert von
              #9

              @namrenner was steht drin der datei?

              Und mangels Testsystem (ich bin zwar eingefleischter Windows-Benutzer, aber ioBroker läuft unter Linux) kann ich dir auch keine Schritt-für-Schritt Anleitung ermitteln.
              Klick die psshutdown.exe mal an das die markiert ist, drück die linke Shift (Großschreib-)taste und dann ein Rechtsklick.
              Im Menü gleich ziemlich oben sollte ein Als anderer Benutzer ausführen erscheinen. Und da nimmst du den ioBroker-Benutzer

              ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

              NamrennerN 1 Antwort Letzte Antwort
              0
              • NamrennerN Namrenner

                @bananajoe
                Danke, leider habe ich wenig Erfahrung, wie mache dies nun?

                Was komisch ist, wenn ich per Skript in js, kommt nichts, per blockly, ist die Datei test.txt da, aber der Befehl geht nicht.

                SokomotoS Offline
                SokomotoS Offline
                Sokomoto
                schrieb am zuletzt editiert von
                #10

                @namrenner sagte in Skript EXEC geht nicht:

                @bananajoe
                Danke, leider habe ich wenig Erfahrung, wie mache dies nun?

                Was komisch ist, wenn ich per Skript in js, kommt nichts, per blockly, ist die Datei test.txt da, aber der Befehl geht nicht.

                Probiere mal das im JS aus:

                exec('cmd.exe /c dir c:\\temp >c:/temp/test.txt', function(err, stdout, stderr) {
                    if (err) {
                        log(err,'err');
                        log(stderr,'stderr');
                        log(stdout,'stdout');
                        return;
                     }
                });
                
                

                Bei mir wird hier eine Datei mit dem Inhalt des Ordners angelegt. Das Problem scheint der Parameter start im Befehl "exec('cmd.exe /c start" zu sein. Sobald ich diesen Parameter mit benutze, hängt sich der cmd Process auf und kann nur noch über den Task gekillt werden.

                NamrennerN 1 Antwort Letzte Antwort
                0
                • SokomotoS Sokomoto

                  @namrenner sagte in Skript EXEC geht nicht:

                  @bananajoe
                  Danke, leider habe ich wenig Erfahrung, wie mache dies nun?

                  Was komisch ist, wenn ich per Skript in js, kommt nichts, per blockly, ist die Datei test.txt da, aber der Befehl geht nicht.

                  Probiere mal das im JS aus:

                  exec('cmd.exe /c dir c:\\temp >c:/temp/test.txt', function(err, stdout, stderr) {
                      if (err) {
                          log(err,'err');
                          log(stderr,'stderr');
                          log(stdout,'stdout');
                          return;
                       }
                  });
                  
                  

                  Bei mir wird hier eine Datei mit dem Inhalt des Ordners angelegt. Das Problem scheint der Parameter start im Befehl "exec('cmd.exe /c start" zu sein. Sobald ich diesen Parameter mit benutze, hängt sich der cmd Process auf und kann nur noch über den Task gekillt werden.

                  NamrennerN Offline
                  NamrennerN Offline
                  Namrenner
                  schrieb am zuletzt editiert von
                  #11

                  @sokomoto said in Skript EXEC geht nicht:

                  cmd.exe /c dir c:\temp >c:/temp/test.txt

                  Hallo, danke, so ging es nicht.
                  Aber so geht es:

                  exec('cmd.exe /c dir "c:/temp" >c:/temp/test.txt', function(err, stdout, stderr) {
                  
                      if (err) {
                  
                          log(err,'err');
                  
                          log(stderr,'stderr');
                  
                          log(stdout,'stdout');
                  
                          return;
                  
                       }
                  
                   });
                  
                  NamrennerN 1 Antwort Letzte Antwort
                  0
                  • NamrennerN Namrenner

                    @sokomoto said in Skript EXEC geht nicht:

                    cmd.exe /c dir c:\temp >c:/temp/test.txt

                    Hallo, danke, so ging es nicht.
                    Aber so geht es:

                    exec('cmd.exe /c dir "c:/temp" >c:/temp/test.txt', function(err, stdout, stderr) {
                    
                        if (err) {
                    
                            log(err,'err');
                    
                            log(stderr,'stderr');
                    
                            log(stdout,'stdout');
                    
                            return;
                    
                         }
                    
                     });
                    
                    NamrennerN Offline
                    NamrennerN Offline
                    Namrenner
                    schrieb am zuletzt editiert von Namrenner
                    #12

                    psshutdown geht nicht, Datei leer und kann auch nicht mehr die Datei löschen.
                    Beim aktivieren steht:
                    javascript.0 (22836) script.js.Haus.Skript_1: Unknown severity level "err" by log of [Error: Command failed: cmd.exe /c psshutdown >c:/temp/test3.txt Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird. ]

                    scheint das die ganze Zeit was versucht, wie bekomme dies beendet?

                    SokomotoS 1 Antwort Letzte Antwort
                    0
                    • BananaJoeB BananaJoe

                      @namrenner was steht drin der datei?

                      Und mangels Testsystem (ich bin zwar eingefleischter Windows-Benutzer, aber ioBroker läuft unter Linux) kann ich dir auch keine Schritt-für-Schritt Anleitung ermitteln.
                      Klick die psshutdown.exe mal an das die markiert ist, drück die linke Shift (Großschreib-)taste und dann ein Rechtsklick.
                      Im Menü gleich ziemlich oben sollte ein Als anderer Benutzer ausführen erscheinen. Und da nimmst du den ioBroker-Benutzer

                      NamrennerN Offline
                      NamrennerN Offline
                      Namrenner
                      schrieb am zuletzt editiert von
                      #13

                      @bananajoe
                      das Problem ist, der Benutzter ioBroker gibt es nicht in Windows.

                      1 Antwort Letzte Antwort
                      0
                      • NamrennerN Offline
                        NamrennerN Offline
                        Namrenner
                        schrieb am zuletzt editiert von
                        #14

                        Habe nun ioBroker auf mein Systen Benutzter Dienst gestartet, nun geht es, aber
                        wieder ein anderer Fehler mit:

                        exec("psshutdown -r \\192.168.1.2", function(err, stdout, stderr) {
                        
                            if (err) {
                        
                                log(err,'err');
                        
                                log(stderr,'stderr');
                        
                                log(stdout,'stdout');
                        
                                return;
                        
                             }
                        
                         });
                        

                        javascript.0 (4084) script.js.Haus.Skript_1: Unknown severity level "err" by log of [Error: Command failed: psshutdown -r \192.168.1.2 ]

                        Problem ist das er nicht "\\192.168.1.2" an nimmt, sondern \192.168.1.2, wie kann dieses Problem lösen?

                        AlCalzoneA 1 Antwort Letzte Antwort
                        0
                        • NamrennerN Namrenner

                          Habe nun ioBroker auf mein Systen Benutzter Dienst gestartet, nun geht es, aber
                          wieder ein anderer Fehler mit:

                          exec("psshutdown -r \\192.168.1.2", function(err, stdout, stderr) {
                          
                              if (err) {
                          
                                  log(err,'err');
                          
                                  log(stderr,'stderr');
                          
                                  log(stdout,'stdout');
                          
                                  return;
                          
                               }
                          
                           });
                          

                          javascript.0 (4084) script.js.Haus.Skript_1: Unknown severity level "err" by log of [Error: Command failed: psshutdown -r \192.168.1.2 ]

                          Problem ist das er nicht "\\192.168.1.2" an nimmt, sondern \192.168.1.2, wie kann dieses Problem lösen?

                          AlCalzoneA Offline
                          AlCalzoneA Offline
                          AlCalzone
                          Developer
                          schrieb am zuletzt editiert von
                          #15

                          @namrenner \ ist ein Escape-Zeichen in Javascript. Du must \\\\ schreiben, um zwei \\ zu erhalten.

                          Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                          NamrennerN 1 Antwort Letzte Antwort
                          0
                          • NamrennerN Namrenner

                            psshutdown geht nicht, Datei leer und kann auch nicht mehr die Datei löschen.
                            Beim aktivieren steht:
                            javascript.0 (22836) script.js.Haus.Skript_1: Unknown severity level "err" by log of [Error: Command failed: cmd.exe /c psshutdown >c:/temp/test3.txt Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird. ]

                            scheint das die ganze Zeit was versucht, wie bekomme dies beendet?

                            SokomotoS Offline
                            SokomotoS Offline
                            Sokomoto
                            schrieb am zuletzt editiert von
                            #16

                            @namrenner sagte in Skript EXEC geht nicht:

                            psshutdown geht nicht, Datei leer und kann auch nicht mehr die Datei löschen.
                            Beim aktivieren steht:
                            javascript.0 (22836) script.js.Haus.Skript_1: Unknown severity level "err" by log of [Error: Command failed: cmd.exe /c psshutdown >c:/temp/test3.txt Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird. ]

                            scheint das die ganze Zeit was versucht, wie bekomme dies beendet?

                            Das geht nur über den Taskmanager...

                            8990ffae-2454-4775-a5e4-00d1dd5b5a4a-image.png

                            ...da hängt der cmd process.

                            1 Antwort Letzte Antwort
                            0
                            • AlCalzoneA AlCalzone

                              @namrenner \ ist ein Escape-Zeichen in Javascript. Du must \\\\ schreiben, um zwei \\ zu erhalten.

                              NamrennerN Offline
                              NamrennerN Offline
                              Namrenner
                              schrieb am zuletzt editiert von
                              #17

                              @alcalzone danke, nun geht es

                              1 Antwort Letzte Antwort
                              0
                              • BananaJoeB Online
                                BananaJoeB Online
                                BananaJoe
                                Most Active
                                schrieb am zuletzt editiert von
                                #18

                                Also es funktioniert jetzt?
                                Wenn ich so drüber nachdenke hatten wir beim letzten mal unter Windows glaube ich den ioBroker-Dienst unter einen anderem Benutzer starten lassen, also dem Anmeldebenutzer

                                ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                                NamrennerN 1 Antwort Letzte Antwort
                                0
                                • BananaJoeB BananaJoe

                                  Also es funktioniert jetzt?
                                  Wenn ich so drüber nachdenke hatten wir beim letzten mal unter Windows glaube ich den ioBroker-Dienst unter einen anderem Benutzer starten lassen, also dem Anmeldebenutzer

                                  NamrennerN Offline
                                  NamrennerN Offline
                                  Namrenner
                                  schrieb am zuletzt editiert von
                                  #19

                                  @bananajoe ja, Danke

                                  1 Antwort Letzte Antwort
                                  0
                                  Antworten
                                  • In einem neuen Thema antworten
                                  Anmelden zum Antworten
                                  • Älteste zuerst
                                  • Neuste zuerst
                                  • Meiste Stimmen


                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  765

                                  Online

                                  32.5k

                                  Benutzer

                                  81.7k

                                  Themen

                                  1.3m

                                  Beiträge
                                  Community
                                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                  ioBroker Community 2014-2025
                                  logo
                                  • Anmelden

                                  • Du hast noch kein Konto? Registrieren

                                  • Anmelden oder registrieren, um zu suchen
                                  • Erster Beitrag
                                    Letzter Beitrag
                                  0
                                  • Home
                                  • Aktuell
                                  • Tags
                                  • Ungelesen 0
                                  • Kategorien
                                  • Unreplied
                                  • Beliebt
                                  • GitHub
                                  • Docu
                                  • Hilfe