1

我正在尝试编写一个将发布到 Azure 虚拟机的 DSC 脚本。到目前为止,我已经能够完成一些基本的事情,比如启用 Windows 功能和创建目录。但现在我想在天蓝色的虚拟机上安装巧克力。所以这是我的脚本

configuration IIsAspNetInstall
{
    Import-DscResource -ModuleName cChoco
    node "localhost"
    {
        WindowsFeature IIS
        {
            Ensure="present"
            Name="web-server"
        }
        WindowsFeature InstallDotNet45
        {
            Name = "Web-Asp-Net45"
            Ensure = "Present"
        }
        WindowsFeature InstallIISConsole
        {
            Name = "Web-Mgmt-Console"
            Ensure = "Present"
        }
        File WebsiteFolderCreate 
        {
            Ensure = "Present"
            Type = "Directory"
            DestinationPath = "C:\inetpub\wwwroot\AdventureWorks"
            Force = $true
        }
        cChocoInstaller installChoco 
        { 
            InstallDir = "C:\choco" 
        }
    }
}    

在我的本地机器上,我使用的是 PowerShell 5.0,在 ISE 中,我在Import-DscResource说找不到 moduleName cChoco 下得到红色波浪线。我知道这是一个关键字,应该在配置部分有效。当我这样做时,Publish-AzureVMDscConfiguration我得到一个解析错误

+     Import-DscResource -ModuleName cChoco
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Could not find the module 'cChoco'.
4

1 回答 1

2

可以手动(通过将其放在 zip 文件的子文件夹中)或使用 Publish-AzureVMDSCConfiguration cmdlet 将模块捆绑在 DSC 包中。如果模块安装在您运行 cmdlet 的计算机上,它将查看您 PS1 文件中的所有导入模块语句并为您打包它们 - 一旦打包,当您在目标计算机上运行脚本时,模块(s ) 也会自动安装...

于 2016-10-10T15:28:10.667 回答