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,但无济于事。谢谢。
解决方案
我目前正在尝试做同样的事情,此代码非常有用。谢谢。看看您的问题,虽然我想到了一个问题,但可能是您需要允许在远程服务器上运行脚本。
相关文章