У меня есть сценарий PowerShell, создающий почтовый ящик пользователя, вызываемый PHP, работающий на сервере IIS 10.
Дело в том, что когда я запускаю этот скрипт с веб-сервера в PowerShell, он работает, но когда я запускаю его с PHP, я получаю отказ в доступе.
Connecting to remote server server.domain.local failed with the following error message : Access is denied. For more information, see the about_Remote_Troubleshooting Help topic. At C:\Scripts\AD_CreateMailbox.ps1:46 char:34 + ... sessionEX = New-PSSession -sessionOption $sessionOption -Configuratio ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [New-PSSession], PSRemotin gTransportException + FullyQualifiedErrorId : AccessDenied,PSSessionOpenFailed
Что я сделал:
Я предполагаю, что, возможно, мне придется использовать олицетворение IIS, но я не совсем уверен и не нашел ничего подробного о том, как это настроить.
Есть ли у вас какие-нибудь советы по этому поводу или, возможно, кто-нибудь когда-нибудь делал это?
Спасибо :)
Как сказал Лекс Ли, Microsoft больше не поддерживает PHP в Windows/IIS, вы можете переключиться на хостинг Linux.
Да, возможно, но это вряд ли решит мою проблему. Скрипты PowerShell для AD работают на одном и том же сервере, поэтому моя проблема связана с Exchange.
Выяснилось после мониторинга с обеих сторон (веб-сервера и Exchange) после прочтения этого поста: https://codermike.blogspot.com/2016/06/new-pssession-access-denied.html
Оказалось, что проблема связана с веб-сервером и правом IIS на запись в реестре.
Ключ, к которому IUSR должен иметь доступ на запись: HKEY_USERS.DEFAULT\Software\Microsoft\Windows\CurrentVersion\WSMAN\Client\ConnectionCookies.
Оказалось, что этот ключ отсутствовал на моем веб-сервере, поэтому я создал его и разрешил IUSR писать в него.
Все, что работает в вашем пользовательском сеансе, может просто сломаться при переключении на системный сеанс/IIS, docs.lextudio.com/blog/… Поскольку PHP нелегко раскрыть вам подражание и теперь даже не поддерживается Microsoft , вы, вероятно, столкнетесь с другими проблемами.