Многоскачковая команда вызова Powershell


У меня есть вопрос относительно многоскачковой работы в среде Windows.
Допустим, у меня есть расписание, работающее на сервере A (центральный планировщик), которое выполняет команду на сервере B. Этот сценарий содержит вызов для сохранения файлов на удаленном сервере. filer (путь UNC, сервер C). Прыжок 1 (из А в В) работает хорошо, прыжок 2 (из В в С) не работает. Я уже тестировал локальное сохранение файлов на сервере B, все работает без нареканий. Я думаю, что есть проблема со вторым прыжком. Я помню, что недавно читал что-то подобное на форуме, но не могу вспомнить решение.
Подробно команда выглядит так:

$session = New-PSSession -computer ComputerName    
$templatepath = "\\filerpath\"
Invoke-Command -Session $session -Scriptblock { powershell ovpmutil cfg pol dnl $Using:templatepath /p \BSH }

Чтобы уточнить: Powershell дает мне «Отказано в доступе» при выполнении второго прыжка. Я уже включил делегирование учетных данных, как описано здесь: Включение Multihop Удаленное взаимодействие
Приветствуется любая помощь.
Заранее спасибо


person user3322838    schedule 29.11.2017    source источник
comment
Пожалуйста, отредактируйте свой вопрос, добавив в него эту информацию, вместо того, чтобы комментировать свой собственный вопрос.   -  person Clijsters    schedule 29.11.2017
comment
Раньше у меня были проблемы с CredSSP. Ответ в этом посте решил проблему для меня: when-using-invokecommand-or-enterpssession?forum=winserverpowershell" rel="nofollow noreferrer">social.technet.microsoft.com/Forums/windowsserver/en-US/ В частности, часть для клиента   -  person Mark Birkedal Stjerslev    schedule 29.11.2017


Ответы (1)


Решение - настоящая головная боль, если вы спросите меня, но вот оно...

На исходном сервере (A):

Set-Item WSMAN:\localhost\client\auth\credssp -value $true

На промежуточном сервере (B):

Set-Item WSMAN:\localhost\client\auth\credssp -value $true

Откройте редактор групповой политики на сервере A, перейдите к:

Конфигурация компьютера > Административные шаблоны > Система > Делегирование учетных данных

Включите эти параметры:

  • Разрешить делегирование новых учетных данных
  • Разрешить делегирование новых учетных данных с проверкой подлинности сервера только NTLM

Для обеих политик необходимо, чтобы сервер B был добавлен в список разрешенных, разрешены подстановочные знаки. Обратите внимание: если вы используете RDP с сервера А, вам также необходимо добавить TERMSRV/*

При запуске Invoke-Command с сервера A включите параметр -Authentication CredSSP.

Обратите внимание, что при сохранении SecureStrings где-нибудь для учетных данных для подключения к серверу C вам нужно либо использовать фиксированное шифрование (указать массив байтов), либо обычный текст и преобразовать его.

person Deadly-Bagel    schedule 29.11.2017