如果所需模块尚不可用,如何将 DSC 编译为 MOF

How do I compile DSC to MOF if required module is not yet available

我需要在我的 DSC 配置中使用模块 xWebAdministration,但该模块尚未安装在系统中,并且安装在当前配置之前的配置中。示例如下。另外,我如何在 Whosebug 上使用 markdown 和 powershell 代码,如下所示。我把它放在 code 块中,但没有语法突出显示。

Configuration BasicIIS
{
    Import-DscResource -ModuleName 'PSDesiredStateConfiguration' 
    node localhost {
              ... Script etc logic which installed xWebAdministration Module
     }
}
BasicIIS -OutputPath .\BasicIIS
Start-DscConfiguration -Wait -Verbose -Path .\BasicIIS -Force
Configuration SecondStep
{
    Import-DSCResource -moduleName "xWebAdministration"
    xWebSiteDefaults DefaultConfig {
        ApplyTo = "Machine"
        LogDirectory = "c:\inetpub\logs\LogFiles\host"
        TraceLogDirectory = "c:\inetpub\logs\LogFiles\host\FREB"
    }
SecondStep -OutputPath .\BasicIIS
Start-DscConfiguration -Wait -Verbose -Path .\BasicIIS -Force

除非您处于拉取方案(例如 Azure DSC)中,否则您将需要预加载模块要求。最简单的方法是在某个地方发布您的模块(NuGet 服务或文件共享)和 运行 PowerShellGet,然后再应用配置,或者如果真正需要离线,则将它们嵌入到映像中。