Ошибка при доступе к путям UNC через скрипт powershell при удалении

Я пытаюсь выполнить программу внутри сценария Power Shell. Сценарий PS вызывается из метода C# с использованием Runspaces. Программа пытается обновить файл конфигурации на удаленном сервере. Когда я запускаю все это, я получаю следующую ошибку:

System.UnauthorizedAccessException: доступ к пути \\некоторый путь запрещен.

Сценарий PS находится на удаленном сервере. Если я запускаю сценарий PS непосредственно на сервере, то сценарий PS и программа внутри него работают нормально и могут получить доступ к удаленной системе.

Кто-нибудь сталкивался с этим раньше? Мне сказали, что это не удается, потому что я запускаю его через Visual Studio и C #, и что мне не будет разрешен доступ к сетевым ресурсам через сценарий powershell, который выполняется через класс C #. Кто-то еще сказал мне, что разрешения, которые я использую для запуска сценария PS в среде выполнения, не переводятся в программу, которую я вызываю в сценарии.

Другие идеи и возможные решения?

Спасибо


person J D    schedule 01.08.2013    source источник


Ответы (1)


Похоже, вы пытаетесь изменить файл в пути UNC на вторичном сервере. Это не сработает из-за старой проблемы "двойного прыжка". Вы находитесь на компьютере A и выполняете удаленный сценарий на B, который пытается изменить файл на C. Ваша аутентификация от A к B не может быть повторно использована для подключения от B к C. Это ограничение дизайна для NTLM (встроенная проверка подлинности Windows).

Однако не все потеряно: вы должны использовать аутентификацию CredSSP при удаленном подключении PowerShell от A к B, и тогда вы сможете без проблем подключиться к C.

Использованная литература:

person x0n    schedule 01.08.2013