1

我需要获取简单监视工具的服务状态。这是没有问题得到当地的地位,但是当我试图让服务状态的远程计算机上是这样的:powershell - 使用php远程执行cmdlet

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

我什么也没得到。 server1上的WinRM被设置为接收请求并允许远程访问。远程服务器1上的Get-Service在控制台窗口中正常工作。

此作品(局部):

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

我试着改变了shell_exec给exec或系统,但没有效果。谢谢。

+0

起初是“Hi”的新功能吗? :) – culter 2013-02-13 14:04:44

+1

您是否确认运行Web服务器的用户可以访问远程服务器? – 2013-02-13 19:16:37

+0

谢谢Kayasax。是的,我的电脑上的所有内容都由具有管理员权限的单个用户运行。 – culter 2013-02-14 08:46:59

回答

0

我目前正在尝试做同样的事情,这段代码是非常有帮助的。谢谢。看看你的问题,但我想到的是,你可能需要允许脚本在远程服务器上运行。

+0

这应该去评论,而不是回答 – 2013-08-22 07:38:00