PowerShell-使用php远程执行cmdlet

我需要获取简单监控工具的服务状态。在本地获取状态没有问题,但当我尝试获取远程计算机上的服务状态时,如下所示:

<?php 
$output = shell_exec('powershell.exe "(get-service Webclient -computername server1).Status"');
echo "Webclient:  $output ";
?>

我一无所获。服务器1上的WinRM设置为接收请求并允许远程访问。远程服务器1上的Get-Service在控制台窗口中工作正常。

这(本地)有效:

<?php 
$output = shell_exec('powershell.exe "(get-service Webclient).Status"');
echo "Webclient:  $output ";
?>

我尝试将SHELL_EXEC更改为EXEC或SYSTEM,但无济于事。谢谢。


解决方案

我目前正在尝试做同样的事情,此代码非常有用。谢谢。看看您的问题,虽然我想到了一个问题,但可能是您需要允许在远程服务器上运行脚本。

相关文章