Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

.bat Datei über webseite starten mittels PHP

Frage Entwicklung Batch & Shell

Mitglied: m.reeger

m.reeger (Level 2) - Jetzt verbinden

21.10.2013 um 07:30 Uhr, 8339 Aufrufe, 7 Kommentare, 1 Danke

Hallo,

wie im Titel beschrieben, möchte ich gerne eine .bat Datei über einen Link auf einer Website starten.

Die .bat soll einen Terraria-Game-Server starten bzw. auch eine Datei um ihn zu stoppen.

Ich habe bereits gegooglet aber leider bin ich nach langer Sucherei auf keine paasende Lösung gestoßen.

Ich hoffe ihr könnt mir helfen!

Server: Windows Server 2008R2 Std. mit IIS 7.5
Mitglied: colinardo
21.10.2013, aktualisiert um 10:37 Uhr
Hallo m.reeger,
das kann z.B. die PHP-Funktion exec() kann dies für dich bewerkstelligen. (Beispiele finden sich weiter unten auf der Seite.)
Beispiel (ohne jegliche Sicherheitsvorkehrungen):
01.
<?php 
02.
   exec('cmd.exe /c "C:\start_gameserver.cmd"'); 
03.
?>
Auf deiner HTML-Seite baust du dann einen Link zu deiner PHP-Seite ein, welches dann deine Batch-Datei ausführt.
Du solltest aber auf jeden Fall sicherstellen das du das Script bzw. die Seite entsprechend im Zugriff beschränkst, so dass nicht jeder deinen Game-Server aus und einschalten kann ...

Grüße Uwe
Bitte warten ..
Mitglied: m.reeger
21.10.2013 um 10:36 Uhr
OK vielen Dank ;)

Die Seite wird natürlich gesichert (Benutzerabfrage)

Jetzt wollte ich noch einen Schritt weiter gehen.

Der Webserver ist virtualisiert mit Srv 2012 als OS und IIS 8.
Der/Die Gameserver laufen auf unterschiedlichen Systemen (Host-Server, v-Server etc.)

Lässt sich das dann auch mit exec machen?

Also z.B dass ich auf dem Webserver Netzlaufwerke zu den Gameservern hinzufüge und somit dann z.B auf die .bat zugreife.

also
<?php
exec('cmd.exe /c "X:\gameserver1\start.bat"');
exec('cmd.exe /c "Z:\gameserver1\start.bat"');
exec('cmd.exe /c "P:\gameserver1\start.bat"');
Bitte warten ..
Mitglied: colinardo
21.10.2013, aktualisiert um 10:48 Uhr
Zitat von m.reeger:
Also z.B dass ich auf dem Webserver Netzlaufwerke zu den Gameservern hinzufüge und somit dann z.B auf die .bat zugreife. also
<?php
exec('cmd.exe /c "X:\gameserver1\start.bat"');
exec('cmd.exe /c "Z:\gameserver1\start.bat"');
exec('cmd.exe /c "P:\gameserver1\start.bat"');
Nein, die net start / net stop Befehle für die Dienste würden dann ja lokal auf dem Web-Server ausgeführt. Eine Möglichkeit wäre die Batch-Datei via PSEXEC Befehl auf den Gameservern auszuführen.
Ungetestet etwa so
01.
exec('c:\\WINDOWS\\system32\\psexec.exe \\SERVER-IP -u myuser -p mypassword -accepteula cmd.exe /c "c:\start.bat"');
Grüße Uwe
Bitte warten ..
Mitglied: m.reeger
22.10.2013 um 09:45 Uhr
So ich habe das ganze mal getestet aber mein Browser bleibt leider weiß und die .bat öffnet sich nicht.

PHP Version: 5.2.1.x
Webserver: IIS 8

Fileserver: Server 2008R2

So sieht meine Start.php aus:

<?php
exec('c:\\WINDOWS\\system32\\psexec.exe \\192.168.115.53 -u ad-benutzer -p gurkenslat -accepteula cmd.exe /c "D:\gameserver\Start.bat"');
?>

Was mache ich falsch?
Bzw. welche Angaben benötigt ihr noch?
Bitte warten ..
Mitglied: infowars
22.10.2013 um 10:33 Uhr
Wie du an dem anderen Thread sehen kannst, ist dieser auch noch nicht gelöst.
Ich vermute ein Windows-Sicherheits-Feature, dass das starten der Anwendung verhindert.
Probier doch mal das ganze unter Linux, wenn es keinen zwingenden Grund gibt, Windows zu benutzen.
Bitte warten ..
Mitglied: colinardo
22.10.2013 um 10:40 Uhr
Zitat von m.reeger:
So ich habe das ganze mal getestet aber mein Browser bleibt leider weiß und die .bat öffnet sich nicht.
Das ist doch klar, du gibst in der PHP-Datei ja keinerlei Ausgaben aus ! Da kann also nichts erscheinen ...
Was mache ich falsch?
Versuche zuerst mal die PSEXEC-Zeile manuell auf der Kommandozeile zum laufen zu bringen bevor du es in ein PHP-Script einbaust, wenn dies dann funktioniert sehen wir weiter. Meist liegt es an nicht korrekt eingestellten Berechtigungen, außerdem müssen Port 445 und 139 auf den Remote-Servern freigeschaltet sein damit PSEXEC arbeiten kann.
Bitte warten ..
Neuester Wissensbeitrag
Festplatten, SSD, Raid

12TB written pro SSD in 2 Jahren mit RAID5 auf Hyper-VServer

Erfahrungsbericht von Lochkartenstanzer zum Thema Festplatten, SSD, Raid ...

Ähnliche Inhalte
Windows Server
gelöst Sichtbares Ausführen einer BAT-Datei mittels GPOs (10)

Frage von DasWombat1993 zum Thema Windows Server ...

Windows 7
gelöst Bat Datei erstellen für Homeroot (2)

Frage von leon22 zum Thema Windows 7 ...

Batch & Shell
Mehrere.csv Dateien zusammenfügen zu einer Datei mit bat (4)

Frage von Piotrney zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...