Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Exec mit Psexec bekomme keine Oberfläche angezeigt

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Exec mit Psexec bekomme keine Oberfläche angezeigt

    Hallo, ich möchte mittels PHP eine Datei ausführen. In meinem fall eine batch-datei. Hab nun schon einiges zum Thema gelesen und hab mir das Tool PsExec besorgt. Dieses liegt zusammen mit der test.bat in einem verzeichnis auf dem Webserver. Ich nutze Windows Server 2012 und Xampp. Der Aufruf der test.bat funktioniert soweit das ich den Prozess im Taskmanager sehen kann, allerdings fehlt mir die Oberfläche, also es wird nix angezeigt

    Hab nun schon verschiedenste Sachen probiert aber komm nicht weiter...

    hier erst mal die test.php:
    PHP-Code:
    <?php

    exec
    ('psexec.exe  -h -d -i test.bat -accepteula');

    ?>
    und hier die test.bat:

    Code:
    calc.exe
    pause
    Ich hab dem Apache-Service den "Datenaustausch zwischen Dienst und Desktop" erlaubt und hab der CMD Vollzugriff für den Benutzer IS_User gegeben (wie hier beschrieben: http://php.net/manual/de/function.exec.php#86438)

    Ich hoffe jmd hat noch eine Idee an was es noch liegen kann.

    gruß ehorn

  • #2
    Mach dir mal klar, was der Server, der Client und PHP ist und überdenke dein Konzept dann noch einmal....
    So wie du das gerne hättest geht das nicht.
    [URL="http://php.net/manual/en/migration55.deprecated.php"]mysql ist veraltet[/URL] [URL="http://php-de.github.io/jumpto/mail-class/"]Mails senden: Ohne Probleme und ohne mail()[/URL]
    [PHP]echo 'PS: <b>Meine Antwort ist keine Lösung, sondern nur eine Hilfe zur Lösung.</b>';[/PHP]

    Kommentar


    • #3
      Naja scheinbar bin ich nicht der einzige der das versucht...und scheinbar funktioniert das ganze ja iwie. Das PHP auf dem Server läuft und ich die Batch somit auch auf dem Server starte und nicht auf dem Client ist mir klar und gewollt. Soweit ich das richtig verstehe läuft die Batch ja auch im Hintergrund, nur die Oberfläche wird nicht angezeigt...

      Kommentar


      • #4
        Was meinst du indem fall mit oberfläche? Denn desktop? Wenn ja welchen? Client oder Server? Oder denke ich jetzt konplett falsch?

        Kommentar


        • #5
          Die Batch-Datei ruft ja testweise den Windows Taschenrechner auf. Im Taskmanager seh ich das er gestartet ist nur das Programm an sich seh ich eben nicht, das läuft nur im Hintergrund...

          Kommentar


          • #6
            exec erzeugt keine Ausgabe...

            Kommentar


            • #7
              Benutz proc_open()

              Ich war damit (lokal auf meinem Heimrechner) in der Lage, z.B. einen Browser zu öffnen und anzusteuern...
              Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

              Kommentar


              • #8
                Vielleicht müsste man hier noch anmerken, dass es dazu geeignetere Sprachen gibt als PHP...
                [URL="https://github.com/chrisandchris"]GitHub.com - ChrisAndChris[/URL] - [URL="https://github.com/chrisandchris/symfony-rowmapper"]RowMapper und QueryBuilder für MySQL-Datenbanken[/URL]

                Kommentar


                • #9
                  Also ich bin doch hier richtig im Einsteiger-Forum oder nicht? Dann versteh ich nicht warum man bei euch grundsätzlich immer nur ein Fragment als Antwort hingeknallt bekommt... Also das exec keine Ausgabe erzeugt ist mir bewußt, deswegen nutze ich ja auch das Tool PSexec (welches ich mit exec aufrufe) und mit Diesem scheint es zu gehen. Wenn es nicht definitiv jemand bestätigen kann das es mit PSExec nicht geht würde ich mich freuen wenn sich Leute die meinen Startbeitrag eh nicht richtig gelesen haben einer Antwort enthalten könnten. zu proc_open habe ich kein Beispiel gefunden (vlt auch einfach nicht richtig verstanden :-/) wie ich ein Programm starten können soll. @Christian welche geeignetere Sprache würde dir denn vorschweben? Von Java\Javascript hab ich leider kein Plan, wenn das allerdings damit gehen würde wäre ich einer Lösung gegenüber nicht abgeneigt

                  gruß ehorn

                  Kommentar


                  • #10
                    exec erzeugt keine Ausgabe, daran ändert Dein Psexec auch nichts. Beachte die Befehlsreihenfolge.

                    psexec von der Kommandozeile aus aufgerufen funktioniert...

                    Kommentar


                    • #11
                      Zitat von ehorn Beitrag anzeigen
                      zu proc_open habe ich kein Beispiel gefunden (vlt auch einfach nicht richtig verstanden :-/) wie ich ein Programm starten können soll.
                      Oder du hast nicht mal den Beispielcode unter proc_open() angepasst und ausprobiert.

                      Auch wenn dies das Anfängerforum ist und du Anfänger sein solltest, es befreit dich nicht davon den Kopf zu benutzen.
                      Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                      Kommentar


                      • #12
                        @lstegelitz ich hab den Code wirklich nicht angepasst was daran liegt das ich nicht verstehe was ich da anpassen müsste um eine anwendung zu starten. Hab wie gesagt auch nirgends ein Beispiel gefunden. Ich brauch kein Rückgabewerte oder dergleichen. Ich hab viele Beispiele gesehen von Leuten welche geschrieben haben das sie mit psexec eine (Test-)Anwendung zb Paint gestartet haben...was nutzt die Testanwendung wenn ich deren Oberfläche nicht sehe o0 (Von daher hab ich mal geschlußfolgert das das möglich ist)
                        Wenn ich auf dem Holzweg bin und ich wirklich keine Anwendung lokal auf dem Webserver via php oder einer anderen Sprache starten kann würde ich mich freuen wenn das jmd bestätigen könnte. Dann würde ich das ganze hier für beendet erklären...

                        EDIT:
                        muhahaha...hab endlich den entscheidenden Tip gefunden. War wohl ein Rechteproblem, wenn ich den Apachen manuell und nicht als Dienst starte funzt das ganze wie gewünscht.
                        Mit Oberfläche wie gewünscht...was ja aber mit exec eigentlich gar nicht möglich ist
                        Schade das sich hier jeder als Experte wähnt ...


                        gruß ehorn

                        Kommentar


                        • #13
                          ja klar....

                          Kommentar


                          • #14
                            Seit wann ist eigentlich dieser -Smiley im Trend, damit wirken die Beiträge immer so arrogant
                            [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
                            [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

                            Kommentar


                            • #15
                              Das ist ja witzig, ich finds eher arrogant wie manche hier Antworten geben. Frag mich wie man ohne jeden Zweifel irgendwelche Behauptungen aufstellen kann die sich am Ende als falsch herausstelllen. Ich mein ja nur, wenn man nix zum Thema beitragen kann einfach mal ruhig verhalten...oder wie es Dieter Nuhr ausgedrückt hat ^^
                              Trotzdem danke an die die mir helfen wollten

                              ehorn

                              Kommentar

                              Lädt...
                              X