我为 Server 2008 R2 编写了一个 PowerShell 脚本,以检查是否安装了某些角色和功能以及是否安装它们(当然我首先导入了 ServerManager 模块),即:
if ((Get-WindowsFeature AS-NET-Framework).Installed -eq 0)
{$InstallFeatures += "AS-NET-Framework,"
Write-Host "AS-NET-Framework will be added"}
if ((Get-WindowsFeature GPMC).Installed -eq 0)
{$InstallFeatures += "GPMC,"
Write-Host "GPMC will be added"}
但是当我调用
Add-WindowsFeature $InstallFeatures
它给出了一个找不到名称的错误。不知何故 PS 不接受逗号作为字符串中的分隔符。
但是如果你输入
Add-WindowsFeature AS-NET-Framwork,GPMC
在控制台中它工作得很好。
有什么方法可以Add-WindowsFeature
在一行中调用我需要的所有参数,而无需为每次检查创建一个新变量,因为这样我只需要重新启动所有缺少的角色和功能?
提前致谢。