Множественная установка из PowerShell в Windows 2012R2
Установка роли на множество серверов в Windows 2012R2
Итак, вам требуется добавить роли, службы ролей или компоненты на множество серверов. Для автоматизации этого процесса воспользуемся Power-Shell-м. При этом необходим конфигурационный файл. В целях демонстрации мы воспользуемся мастером добавления ролей и компонентов для экспорта информации по установке роли в ХМL-файл. Например, Вам нужен (Remote Desktop Services). Для этого запустите мастер добавления роли на одном из серверов под управлением Windows 2012R2, но остановитесь на экране подтверждения добавления роли (последнем экране мастера).
В нижней части этого экрана имеется ссылка Ехрогt configuration settings (Экспортировать параметры конфигурации), которая позволяет экспортировать конфигурацию в файл.
Сохраните конфигурацию в файл DeploymentConfigTemplate.xml в корневой папке на диске или в другом удобном для Вас месте. Теперь, когда файл сохранен, можно прервать работу мастера. Не щелкайте на кнопке lnstall (Установить)!
Почти все готово к установке роли на множество серверов с применением файла сценария. Откройте окно PowerShell, щелкнув правой кнопкой мыши на значке PowerShell в панели задач, и выберите в контекстном меню пункт Run as Administrator (Запуск от имени администратора).
Внутри PowerShell добавьте следующую функцию:
function Invoke-Windows Feat ureBatchDeployment
param (
[parameter (mandatory)]
[string [J] $ComputerNames ,
[parameter (mandatory)]
[string] $ConfigurationFilePath
)
# Развернуть компоненты одновременно на множестве компьютеров .
$jobs = @ ( )
foreach ($ComputerName in $ComputerNames)
$jobs + = Start-Job-Command {
Install-Windows Feature-ConfigurationFilePath
$using:ConfiguratioпFilePath -ComputerName $using:ComputerName -Restart
}
Receive-Job — Job $jobs -Wait1Seect -ObjectSuccess,
RestartNeeded, ExitCode , FeatureResult
Эта функция имеет несколько параметров: список имен компьютеров на которые будет добавлена роль RDS, и путь к файлу со сценарием. Вызовите созданную функцию и передайте необходимые параметры, с помощью показанного ниже фрагмента кода:
# Пример вызова
$ServerNames = ‘Server_l’, ‘Server_2’
Invoke-Windows FeatureBatchDeployment -ComputerNames
$ServerNames -ConfigurationFile Path C:\DeploymentConfigTemplate.xml
В следующей строке из фрагмента кода указаны имена серверов, Вы должны подправить на свои имена серверов. В примере заданы имена серверов Server_1 и Server_2, разделенные запятой. Можно указывать столько серверов, сколько необходимо, например:
$ServerNames = ‘ TestServer_l’ , ‘Server_2’, ‘Server_3’, ‘LabServer_4’ и тд..
В следующей строке из фрагмента кода необходимо указать реальный путь к сохраненному ранее ХМL-файлу:
-ConfigurationFilePath C:\DeploymentConfigTemplate.xml
После ввода последней строки нажмите и процесс установки начнется.
Проверить установку можно с помощью такой команды:
PS C:\Users\Administrator> Get-WindowsFeature
0