问题描述
我们正在尝试在PHP中运行远程Powershell来访问Exchange和Active Directory数据。
我们尝试了几种不同的解决方案,但是当我们在命令提示符下执行命令时,似乎一切正常,但是当我们在PHP中尝试相同的命令时,我们什至没有任何数据,甚至没有错误消息。
在最有前景的方法中,我们在exec()函数中尝试了Invoke-Command,但没有成功。另一个有趣的解决方案是使用psexec,但结果相同。
$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 }
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 (将#修改为@)