我有以下脚本来获取远程计算机的服务状态并将其显示在网页上(我安装了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
我需要在没有用户交互的情况下自动获取远程计算机上的服务状态。有可能吗?
谢谢!
答案 0 :(得分:0)
PHP使用本地IIS服务帐户进行交互。我通常会为本地IUSR组分配权限。