使用powershell 3.0在远程服务器2012上安装Windows功能
考虑到这两个例子,我想知道哪一个是最佳实践。使用内置的帮助示例,我编写了一个脚本,用于在远程服务器上安装windows功能。这是我的密码:使用powershell 3.0在远程服务器2012上安装Windows功能,powershell,powershell-3.0,powershell-remoting,powershell-ise,Powershell,Powershell 3.0,Powershell Remoting,Powershell Ise,考虑到这两个例子,我想知道哪一个是最佳实践。使用内置的帮助示例,我编写了一个脚本,用于在远程服务器上安装windows功能。这是我的密码: $servers = ('server1', 'server2', 'server3', 'server4') ForEach ($server in $servers) { Install-WindowsFeature -Name Desktop-Experience -ComputerName $server -IncludeAllSubFea
$servers = ('server1', 'server2', 'server3', 'server4')
ForEach ($server in $servers) {
Install-WindowsFeature -Name Desktop-Experience -ComputerName $server -IncludeAllSubFeature -IncludeManagementTools -Restart
}
还是应该像下面这样将“Install WindowsFeature…”包装在“Invoke Command”块中
Invoke-Command -ComputerName server1, server2, server3, server4 -command {
Install-WindowsFeature -Name Desktop-Experience -ComputerName $server -IncludeAllSubFeature -IncludeManagementTools -Restart
}
谢谢你的洞察力 在这种情况下,我个人会使用后者(直接调用
安装WindowsFeature-ComputerName$server
,而不是执行单独的调用命令
),原因如下:
Invoke命令的脚本块中。这是完全可能的,但需要做更多的工作
Invoke Command
没有任何好处,因为您在远程计算机上运行一个命令(而不是使用-ComputerName
参数运行多个命令,而不是在脚本块内运行多个命令)