PHP中的远程Powershell不返回任何数据

问题描述

我们正在尝试在PHP中运行远程Powershell来访问Exchange和Active Directory数据。

我们尝试了几种不同的解决方案,但是当我们在命令提示符下执行命令时,似乎一切正常,但是当我们在PHP中尝试相同的命令时,我们什至没有任何数据,甚至没有错误消息。

在最有前景的方法中,我们在exec()函数中尝试了Invoke-Command,但没有成功。另一个有趣的解决方案是使用psexec,但结果相同。

解决方案1,我们尝试直接获取数据

$cred = New-Object System.Management.Automation.PSCredential -ArgumentList @("*USER*",(ConvertTo-securestring -String "*PASSWORD*" -AsPlainText -Force))

$session = New-PSSession -ComputerName "*SERVER*" -UseSSL -Credential $cred -Authentication Credssp

Invoke-command -ComputerName "*SERVER*" -UseSSL -Credential $cred -Authentication Credssp -ScriptBlock { Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn; Get-MailBox|select alias }

解决方案2,我们尝试将数据放在文本文件

X:\temp\psexec.exe \\*SERVER* -u *USER* -p *PASSWORD* /s cmd.exe /c %systemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Unrestricted -command $res=Get-Host; $res > X:\temp\DEF4.TXT

在我的示例中,我显然替换了敏感值,但是在执行过程中,我使用了正确的值。这些命令已使用exec()和shell_exec()尝试过。我们在使用WAMP服务器的Windows上。

感谢您的帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)