У меня есть два сервера под управлением Windows Server 2012 R2 в одном домене: \tt-sql.perf.corp и \tt-file.perf.corp. Сценарий Powershell находится в общей папке на файловом сервере \tt-file.perf.corp\fileshare\helloworld.ps1. У меня есть приложение на сервере sql, выполняющее следующую команду:
powershell -NonInteractive -InputFormat None -ExecutionPolicy Bypass -Command "& '\tt-file.perf.corp\fileshare\helloworld.ps1'"
Это терпит неудачу со следующей ошибкой:
& : Ошибка проверки AuthorizationManager. В строке: 1 символ: 3 + & '\tt-file.perf.corp\fileshare\helloworld.ps1' + ~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: SecurityError: (:) [], PSSecurityException + FullyQualifiedErrorId: UnauthorizedAccess
Это также не работает, если я изменю путь для использования IP-адреса.
Однако это работает, когда путь к сценарию не указан полностью: powershell -NonInteractive -InputFormat None -ExecutionPolicy Bypass -Command "& '\tt-file\fileshare\helloworld.ps1'"
Служба инструментария управления Windows работает на обоих серверах. Я также запустил Get-ExecutionPolicy на обоих серверах, и для обоих установлено значение Unrestricted. UAC отключен на обоих серверах. Что происходит?