Как раз для этих целей MS создали PowerShell Desaired State Configuration (DSC), это такой аналог Puppet или Ansible от MS.
Принцип его работы в следующем:
Вы на PowerShell, используя ресурсы DSC, описываете что хотите получить в итоге и формируете файл конфигурации в формате MOF. Затем на нужных машинах выполняете команду применения конфигурации:
start-dscconfigeration -path ./config.mof
Ресурс DSC это такая макро команда, которая имеет 2 основных функции Test и Config (названия условны). Сперва функция Test определяет текущее состояние системы и формирует список отличий, от требуемого. Затем команда Config приводит к описанному в конфигурации состоянию.
В конфигурации есть много возможностей описать порядок применения ресурсов, если необходимо их выполнение в определенной последовательности. Можно запускать часть команд параллельно, но следующий этап выполнять только после их завершения.
Есть достаточно сырая, и заточенная под облако Azure, система централизованного управления конфигурациями.