Import-DscResource找不到包cChoco

时间:2016-10-08 00:38:14

标签: powershell azure powershell-dsc

我正在尝试编写将发布到Azure虚拟机中的DSC脚本。到目前为止,我已经能够完成基本的功能,如启用Windows功能和创建目录。但现在我想在azure虚拟机上安装chocolatey。所以这是我的剧本

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。我知道它是一个关键字,应该在Configuration部分内有效。当我Publish-AzureVMDscConfiguration时,我得到一个解析错误

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

1 个答案:

答案 0 :(得分:2)

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