PowerShell DSC - 不为 Web 服务器安装嵌套组件
PowerShell DSC - not installing nested components for Web-Server
我写了PowerShell DSC Configuration
。它有效但不如预期。我正在尝试在其下安装 Web-Server
和其他功能。当我是 运行 脚本时,它只安装 Web Server (IIS)
而没有安装其他任何东西。
我的配置是这样的:
$MyConfigData = @{
AllNodes = @(
@{NodeName = 'myserver.corp.mycompany.net';Role='TestServer'}
);
}
configuration TestDSC
{
param (
)
node $allnodes.NodeName
{
WindowsFeature Web
{Name = "Web-Server"; Ensure = "Present"}
{Name = "Web-WebServer"; Ensure = "Present"}
{Name = "Web-Common-http"; Ensure = "Present"}
{Name = "Web-Default-Doc"; Ensure = "Present"}
{Name = "Web-Dir-Browsing"; Ensure = "Present"}
{Name = "Web-Http-Errors"; Ensure = "Present"}
{Name = "Web-Static-Content"; Ensure = "Present"}
{Name = "Web-Health"; Ensure = "Present"}
{Name = "Web-Http-Logging"; Ensure = "Present"}
{Name = "Web-Performance"; Ensure = "Present"}
{Name = "Web-Stat-Compression"; Ensure = "Present"}
{Name = "Web-Dyn-Compression"; Ensure = "Present"}
{Name = "Web-Security"; Ensure = "Present"}
{Name = "Web-Filtering"; Ensure = "Present"}
{Name = "Web-Basic-Auth"; Ensure = "Present"}
{Name = "Web-Windows-Auth"; Ensure = "Present"}
{Name = "Web-App-Dev"; Ensure = "Present"}
{Name = "Web-Net-Ext45"; Ensure = "Present"}
{Name = "Web-Asp-Net45"; Ensure = "Present"}
{Name = "Web-ISAPI-Ext"; Ensure = "Present"}
{Name = "Web-ISAPI-Filter"; Ensure = "Present"}
{Name = "Web-Ftp-Server"; Ensure = "Present"}
{Name = "Web-Mgmt-Tools"; Ensure = "Present"}
{Name = "Web-Mgmt-Console"; Ensure = "Present"}
{Name = "Web-Mgmt-Compact"; Ensure = "Present"}
}
}
TestDSC -ConfigurationData $MyConfigData -OutputPath "E:\DSCConfig\TestDSC"
您需要为每个功能命名的 WindowsFeature:
WindowsFeature Server
{
Name = "Web-Server"
Ensure = "Present"
}
WindowsFeature WebServer
{
Name = "Web-WebServer"
Ensure = "Present"
}
WindowsFeature CommonHttp
{
Name = "Common-http"
Ensure = "Present"
}
...
https://technet.microsoft.com/en-gb/library/dn282127.aspx
查看 'IncludeAllSubFeature' 标志
我写了PowerShell DSC Configuration
。它有效但不如预期。我正在尝试在其下安装 Web-Server
和其他功能。当我是 运行 脚本时,它只安装 Web Server (IIS)
而没有安装其他任何东西。
我的配置是这样的:
$MyConfigData = @{
AllNodes = @(
@{NodeName = 'myserver.corp.mycompany.net';Role='TestServer'}
);
}
configuration TestDSC
{
param (
)
node $allnodes.NodeName
{
WindowsFeature Web
{Name = "Web-Server"; Ensure = "Present"}
{Name = "Web-WebServer"; Ensure = "Present"}
{Name = "Web-Common-http"; Ensure = "Present"}
{Name = "Web-Default-Doc"; Ensure = "Present"}
{Name = "Web-Dir-Browsing"; Ensure = "Present"}
{Name = "Web-Http-Errors"; Ensure = "Present"}
{Name = "Web-Static-Content"; Ensure = "Present"}
{Name = "Web-Health"; Ensure = "Present"}
{Name = "Web-Http-Logging"; Ensure = "Present"}
{Name = "Web-Performance"; Ensure = "Present"}
{Name = "Web-Stat-Compression"; Ensure = "Present"}
{Name = "Web-Dyn-Compression"; Ensure = "Present"}
{Name = "Web-Security"; Ensure = "Present"}
{Name = "Web-Filtering"; Ensure = "Present"}
{Name = "Web-Basic-Auth"; Ensure = "Present"}
{Name = "Web-Windows-Auth"; Ensure = "Present"}
{Name = "Web-App-Dev"; Ensure = "Present"}
{Name = "Web-Net-Ext45"; Ensure = "Present"}
{Name = "Web-Asp-Net45"; Ensure = "Present"}
{Name = "Web-ISAPI-Ext"; Ensure = "Present"}
{Name = "Web-ISAPI-Filter"; Ensure = "Present"}
{Name = "Web-Ftp-Server"; Ensure = "Present"}
{Name = "Web-Mgmt-Tools"; Ensure = "Present"}
{Name = "Web-Mgmt-Console"; Ensure = "Present"}
{Name = "Web-Mgmt-Compact"; Ensure = "Present"}
}
}
TestDSC -ConfigurationData $MyConfigData -OutputPath "E:\DSCConfig\TestDSC"
您需要为每个功能命名的 WindowsFeature:
WindowsFeature Server
{
Name = "Web-Server"
Ensure = "Present"
}
WindowsFeature WebServer
{
Name = "Web-WebServer"
Ensure = "Present"
}
WindowsFeature CommonHttp
{
Name = "Common-http"
Ensure = "Present"
}
...
https://technet.microsoft.com/en-gb/library/dn282127.aspx
查看 'IncludeAllSubFeature' 标志