TFS2017: используйте задачу PSRemote из агента или Powershell на удаленных компьютерах

Какие преимущества предоставляет задача «PowerShell на удаленных компьютерах» в TFS 2017 Update 2 Release Management по сравнению со сценариями PSRemote PowerShell, выполняемыми с компьютера агента развертывания?

В рамках нашего процесса выпуска мы используем сценарии PowerShell для проверки и настройки серверов, на которых выполняется развертывание (например, установка сертификатов SSL, версии .NET и т. д.). Исторически мы использовали удаленное взаимодействие PowerShell (New-PSSession/Invoke-Command) с CredSSP для выполнения сценариев из агента развертывания для настройки конечных компьютеров.

Задача PowerShell на удаленных машинах, по-видимому, включает копирование вашего ps1 на конечный компьютер, а затем его выполнение из контекста этого компьютера. По сравнению с методом PSRemote все, что мы получаем, — это более простой синтаксис. Кроме того, будет сложнее отследить и устранить неполадки из RM, если мы скопируем файлы сценариев на набор серверов, а затем позволим этим блокам выполнять сценарии, пока мы ждем результата. Учитывая популярность веб-сайтов, использующих эту задачу, я чувствую, что что-то упускаю.


person pwil301    schedule 25.10.2017    source источник


Ответы (1)


Задача PowerShell on Target Machines делает развертывание более удобным и эффективным.

Эта задача может запускать как сценарии PowerShell, так и сценарии PowerShell-DSC. Он может выполнять сценарии PowerShell на удаленных компьютерах со списком полных доменных имен или IP-адресов компьютеров, разделенных запятыми, при необходимости включая номер порта. Также легко передавать другие аргументы.

См. Развертывание: PowerShell on Target Машины, чтобы узнать подробности.

И эта статья для PSRemote: Как запустить Команды PowerShell на удаленных компьютерах

Вы можете сравнить с ними.

person Andy Li-MSFT    schedule 26.10.2017
comment
Спасибо, @Andy-MSFT. Я знаю, что задача позволяет вам запускать сценарии на удаленных компьютерах, но мы уже можем делать это из агента с PSRemote, включая параллельное разветвление на несколько компьютеров и использование аргументов. Чего я не понимаю, так это почему (если?) мы должны переключиться на использование PS на целевых машинах вместо PSRemote. В любом случае, под прикрытием задача просто использует WinRM для Invoke-Command со сценарием, который вы ей предоставили? Я пытаюсь выяснить, является ли это просто другой возможностью управления сценариями или есть какое-то другое техническое преимущество. - person pwil301; 26.10.2017
comment
@pwil301 pwil301 Все они основаны на WinRM. Да, это для управления сценариями. Он обеспечивает лучший интерактивный режим, упрощает понимание развертывания, особенно для некоторых новичков в PowerShell. Если вы являетесь экспертом в PowerShell, то PS-remote может выполнить почти все развертывание. - person Andy Li-MSFT; 27.10.2017
comment
Спасибо @Andy-MSFT. Вот что мне нужно было знать! - person pwil301; 28.10.2017