Ошибки двойного прыжка при запуске командлетов Skype для бизнеса - PullRequest
0 голосов
/ 10 июля 2020

Я пытаюсь автоматизировать процесс установки Skype для бизнеса Server в Powershell, у меня есть сценарий, который удаленно подключается к указанным машинам и начинает их подготовку как серверы переднего плана. Проблема заключается в том, что определенные командлеты SfB (все команды SfB имеют форму «verb-Cs ...», например Get-CsUser или Get-CsPool) запускаются в удаленных сеансах, они выдают ошибку двойного перехода:

Exception: Active Directory error "-2147016672" occurred while searching for domain controllers in domain...

Это происходит после запуска Enable-CsComputer, который включает определение роли компьютера в топологии (топология была успешно опубликована). Пользовательский объект находится во всех необходимых группах (RTCUniversalServerAdmins, Schema Admins, CsAdministrators и права локального администратора на всех серверах SfB). Как ни странно, команда Import-CsConfiguration -localstore не выдает ошибок и находится в том же удаленном сеансе. Могут быть другие локальные или доменные группы, в которых мне нужно быть, но я не могу точно определить, в каких именно и не видел они задокументированы в руководствах по сборке Skype. Команды Skype, которые имеют параметры для указания целей или просто извлечения данных, например Get-CsPool или Get-CsAdForest, не содержат ошибок, поскольку выполняются в локальной области. Enable-CsComputer не имеет параметр для имени компьютера, он должен выполняться с самого этого компьютера.

Включение делегирования CredSSP на каждом сервере не является вариантом, и я не понимаю, почему в этой команде есть «второй прыжок» ! Если бы вторым прыжком был ресурс на файловом сервере или в базе данных, это имело бы смысл, и его было бы легко решить, но в этом случае я не могу его отследить. Может ли кто-нибудь сказать мне, что мне может не хватать?

Вот пример кода, который можно проиллюстрировать. Из jumbox я получаю данные пула для создания массив, и сеанс открывается для каждой машины:

$ServerArray =get-cspool -identity $poolName
$i=0
$SessionArray = @{}
foreach($server in $ServerArray.Computers){$SessionArray[$i] = new-PsSession -ComputerName $server}
foreach($session in $SessionArray.values){
invoke-Command -session $session -scriptBlock {
   #remote commands:
   import-csConfiguration -<config file path> -localstore; #no errors
   enable-CsReplica; #no errors
   enable-cscomputer; #double hop error here
}}

Если я вхожу на эту машину и запускаю ту же команду, она выполняется нормально, но цель проекта - автоматизировать ее на произвольном количестве станки.

1 Ответ

1 голос
/ 10 июля 2020

Похоже, он просто пытается пройти аутентификацию на контроллере домена, что разумно. Вам придется подойти к этому, как и к любой другой проблеме с двойным прыжком.

У Microsoft есть статья, посвященная проблеме двойного прыжка, и есть несколько решений помимо CredSSP, на которые вы можете посмотреть: Создание второй переход в PowerShell Remoting

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...