批量添加服务器角色需先整理服务器清单并明确角色需求,使用Install-WindowsFeature配合Invoke-Command远程执行;支持CSV差异化部署,通过Import-Csv解析配置并循环调用安装命令。
确认目标服务器列表和角色需求
批量添加服务器角色前,先整理好要操作的服务器清单(如 csv 文件或数组),并明确每个服务器需安装的角色与功能。windows server 使用 install-windowsfeature 命令安装角色,支持远程执行,但需确保 winrm 已启用、防火墙放行、账户有本地管理员权限。
使用 Invoke-Command 远程批量安装
推荐通过 Invoke-Command 在多台服务器上并行执行安装任务。例如:
Invoke-Command -ComputerName "SRV01","SRV02","SRV03" -ScriptBlock {
Install-WindowsFeature -Name Web-Server,NET-Framework-45-Core -IncludeManagementTools -Restart:$false
} -Credential (Get-Credential)
注意:-IncludeManagementTools 可选,用于安装配套管理工具;-Restart:$false 避免自动重启(生产环境建议手动控制)。
从 CSV 文件读取配置实现差异化部署
若不同服务器需安装不同角色,可准备 CSV 文件(如 servers.csv):
ServerName,Features
SRV01,"Web-Server,NET-Framework-45-Core"
SRV02,"DHCP,RSAT-DHCP"
然后用脚本解析并执行:
$servers = Import-Csv .\servers.csv
foreach ($s in $servers) {
$features = $s.Features -split ',' | ForEach-Object { $_.Trim() }
Invoke-Command -ComputerName $s.ServerName -ScriptBlock {
param($f) Install-WindowsFeature -Name $f -IncludeManagementTools
} -ArgumentList $features -Credential (Get-Credential)











