试图在PHP运行下面的命令来运行PowerShell命令......PHP PowerShell命令
了以下工作:
$output = shell_exec(escapeshellcmd('powershell get-service | group-object'));
我不能像这样运行:
$output = shell_exec('powershell get-service | group-object');
它不会通过管道|性格
,但如果我尝试运行:
$output = shell_exec(escapeshellcmd('powershell get-service | where-object {$_.status -eq "Running"}'));
我没有得到任何输出。
以下:
$cmd = escapeshellcmd('powershell get-service | where-object {$_.status -eq "Running"}');
回报:
powershell get-service ^| where-object ^{^$_.status -eq ^"Running^"^}
为什么发生这种情况,如何解决这个问题有什么建议?
编辑:另外我可以运行它为.ps1脚本,但我希望能够传递$ var到它。
了shell_exec( 'PowerShell的-c “获得服务|其中对象{$ _状态-eq \” 运行\“}');! 工作就像一个魅力乔希,感谢 – 2010-03-01 02:56:20
给了EXEC因为你直接调用PowerShell,所以没有必要首先通过命令行shell,也可以避免其他字符(如百分号)出现问题 – Josh 2010-03-01 02:59:15
不喜欢exec命令。 – 2010-03-01 03:05:52