Невозможно скопировать файлы из удаленного каталога из службы IIS с помощью сценария powershell - PullRequest
0 голосов
/ 22 марта 2019

У меня есть несколько файлов, которые необходимо скопировать с сервера A на сервер B. На сервере B запущена служба IIS, которая вызывает локальный сценарий powershell для выполнения необходимых действий.

Когда скрипт powershell выполняется из командной строки, он работает как положено, а также работает при выполнении из IISExpress. Но при вызове из службы, размещенной на IIS, об ошибках не сообщается, но и файлы не копируются.

Сценарий powershell в основном вызывает Copy-Item -Path \\Server A\<some path> -Destination c:\<some path>

Спасибо!

1 Ответ

1 голос
/ 22 марта 2019

IIS по умолчанию запускается как локальная учетная запись службы, которая не имеет разрешения сети. Вы, вероятно, не могли видеть сообщение об ошибке, потому что сценарий Powershell не отображал его вывод в ответ HTTP.

Чтобы исправить это, вы можете создать новый пул приложений в IIS и установить идентификационные данные, введя сетевые учетные данные в Дополнительные параметры AppPool -> Identity. Затем запустите службу в этом AppPool, щелкнув правой кнопкой мыши на виртуальном каталоге и выбрав «Добавить приложение». Появится диалоговое окно, где вы можете выбрать новый AppPool.

Примечания:

  • Учетные данные, которые вы вводите в AppPool, не обновляются при изменении сетевого пароля, поэтому вам следует использовать учетную запись домена с паролем, срок действия которого не истекает.
  • Вы не должны использовать свою собственную учетную запись, поскольку она может быть заблокирована, если ваш пароль изменится и будет вызван ваш сервис.
  • Пароль может прочитать любой администратор на сервере IIS.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...