Đang cố gắng để chạy lệnh sau trong php để chạy lệnh PowerShell ...PHP Powershell lệnh
các công việc sau:
$output = shell_exec(escapeshellcmd('powershell get-service | group-object'));
tôi không thể chạy nó như thế này:
$output = shell_exec('powershell get-service | group-object');
nó sẽ không vượt qua đường ống | nhân vật
nhưng nếu tôi cố gắng chạy:
$output = shell_exec(escapeshellcmd('powershell get-service | where-object {$_.status -eq "Running"}'));
tôi nhận được không có đầu ra.
Sau đây:
$cmd = escapeshellcmd('powershell get-service | where-object {$_.status -eq "Running"}');
lợi nhuận:
powershell get-service ^| where-object ^{^$_.status -eq ^"Running^"^}
Mọi góp ý về lý do tại sao điều này xảy ra và làm thế nào để sửa lỗi này?
Chỉnh sửa: Ngoài ra tôi có thể chạy dưới dạng tập lệnh .ps1 nhưng tôi muốn có thể chuyển $ var sang tệp đó.
shell_exec ('powershell -c "get-dịch vụ | nơi đối tượng {$ _ tình trạng -eq \." Chạy \ "}');! làm việc như một say mê Josh, Cảm ơn –
Cho exec Kể từ khi bạn đang gọi PowerShell trực tiếp, không cần phải thực hiện lệnh shell đầu tiên, nó cũng có thể tránh các vấn đề với các ký tự khác như ký hiệu phần trăm – Josh
Không thích lệnh exec. –