peter-h
Goto Top

PHP Powershell Script ausführen

Hallo zusammen,

mein Anliegen
möchte ein Powershell-Script unter PHP ausführen

Powershell-Script (funktioniert) = druck.ps1
(New-Object -ComObject WScript.Network).SetDefaultPrinter('HP Color LaserJet 2600n')  

PHP-Script (funktioniert)
$psdatei="druck.ps1";  
$command = shell_exec($psdatei);
echo $command;

Beim Aufrufen des PHP-Skriptes wird lediglich der Editor geöffnet
anstatt der Befehl ausgeführt.

Danke schon mal im Voraus für Eure Hilfe

Content-Key: 1183936974

Url: https://administrator.de/contentid/1183936974

Printed on: May 6, 2024 at 22:05 o'clock

Mitglied: 12764050420
12764050420 Apr 26, 2024 updated at 10:39:02 (UTC)
Goto Top
Beim Aufrufen des PHP-Skriptes wird lediglich der Editor geöffnet
Schon wieder alles vergessen was man dir dazu schon erzählt hat?
PHP Ausdruck über shell-exec()
Member: accessViolation
accessViolation Apr 26, 2024 updated at 10:40:38 (UTC)
Goto Top
Betreibe einen Webshop...ist noch im Aufbau

shell_exec

.. bitte nicht..
Member: Peter-H
Peter-H Apr 26, 2024 at 11:20:08 (UTC)
Goto Top
Danke für deine Antwort,

nein keineswegs....
eventuell hab ich mich verkehrt ausgedrückt.

ich möchte ein Powershell-Script mit php ausführen
$psdatei="druck.ps1";
in der druck.ps1 steht folgendes drin
(New-Object -ComObject WScript.Network).SetDefaultPrinter('HP Color LaserJet 2600n')  

Beim Ausführen im Powershell-Editor wird dann der Standarddrucker gewechselt

Wenn ich das Ganze in PHP mit shell_exec() ausführe

$command = shell_exec($psdatei);
echo $command;

öffnet sich dann Notepad anstatt dass der Standarddrucker gewechselt wird

Danke nochmals für deine Hilfe
Mitglied: 12764050420
Solution 12764050420 Apr 26, 2024 updated at 11:55:00 (UTC)
Goto Top
öffnet sich dann Notepad anstatt dass der Standarddrucker gewechselt wird
Normal weil PS-Skripte per Default nicht ausgeführt werden sondern immer mit Notepad im Bearbeiten Modus geöffnet werden, passiert ja auch wenn du unter Windows doppelt auf eine ps1-Datei klickst!!
Im anderen Beitrag steht doch wie du PS Skripte starten musst. Mit der Ausführung über den Powershell Interpreter .... powershell -EP Bypass -File "Skript.ps1"

Da stellt sich aber einer echt an ... Aber ist ja eh wieder Freitag.
Member: Peter-H
Solution Peter-H Apr 26, 2024 at 12:12:14 (UTC)
Goto Top
Merci,
hab es jetzt so hinbekommen
$command = Shell_Exec ('powershell.exe -executionpolicy bypass -NoProfile -File ".\druck.ps1"');  
echo $command;

Sorry habe wenig Erfahrung mit PowerShell

Danke nochmals