0

我有以下脚本来获取远程计算机的服务状态并将其显示在网页上(我安装了 powershell v3.0):

<html !DOCTYPE>
<head>
</head>
<body>

<?php 
    $output = exec('powershell.exe "(Get-Service -computername server_name wudfsvc).Status"');
    echo $output  
?>

</body>
</html>

这有效,当我在本地检查服务状态(没有 -computername 参数)并且当我在命令行中运行此脚本时它有效。我认为,问题在于,当我在 php 中运行它时,它没有足够的权限来获取远程计算机上的服务状态。我尝试使用“Get-WMIObject -class win32_service”而不是 Get-Service,但我只发现这个示例只提供没有密码的登录:

Get-WmiObject Win32_Service -Credential FABRIKAM\administrator Computer Fabrikam

我需要在没有用户交互的情况下自动获取远程计算机上的服务状态。可能吗?

谢谢!

4

1 回答 1

0

PHP 使用本地 IIS 服务帐户进行交互。我通常将权限分配给本地 IUSR 组。

于 2014-01-27T18:41:33.440 回答