问题描述
我们没有在网站上运行某种形式的云外壳。我们正在通过Windows服务器运行Powershell主机。
我们正在为Web引擎运行apache,为前端网站运行php。我们的PHP执行不同的powershell脚本,以将登录变量或属性更改传递给用户office365租户。以下脚本可用于传递用户名和密码,但不允许出现“单一登录”窗口。
当我们运行代码时,它会在Windows会话中本地加载Windows登录凭据提示。我们希望通过某种方式将其传递给网络用户。
我们还希望缓存令牌,因此我们可以向主机运行其他帐户更改脚本,而无需用户登录他们对其office365所做的每次更改。
我浏览了其他票证,其中大多数都在Exchange或类似的地方,但并没有像我们的问题那样退出。
这是我的代码PHP + Powershell
Shell_Exec(powershell.exe -executionpolicy bypass -NoProfile -File login.ps1 xyz@domain.onmicrosoft.com);
login.ps1
$getCredential = Get-Credential $args[0] $Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $getCredential.UserName,$getCredential.Password $Session = New-CsOnlineSession -Credential $Credential Import-PSSession -Session $Session -AllowClobber
这是当前弹出的窗口,但是显然只有当您在本地Windows环境中时,此选项才起作用,而如果您是使用我们网站的远程用户,则不会。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)