编译PowerShell DSC配置时找不到cChocoInstaller模块该如何处理?
问题根源
报错是因为错误将cChoco模块内置的DSC资源名称当做独立模块名称导入:cChocoInstaller、cChocoPackageInstaller均为cChoco模块下包含的资源,本身不是独立模块,因此无法作为单独模块被导入。
解决步骤
- 第一步:安装/确认cChoco模块存在
使用管理员权限启动PowerShell,执行以下命令安装cChoco模块:
执行以下命令验证模块安装成功:Install-Module -Name cChoco -Force
正常输出会显示cChoco模块的版本、存储路径等信息。Get-Module cChoco -ListAvailable - 第二步:修改配置文件
删除多余的Import-DscResource语句,仅保留导入cChoco模块的语句即可,修改后的正确配置如下:
注:原配置中安装Firefox的资源命名为Configuration chocandfirefox { Import-DscResource -ModuleName cChoco Node 'localhost' { cChocoInstaller installChoco { InstallDir = "c:\ProgramData\chocolatey" } cChocoPackageInstaller installFirefox { Name = "firefox" DependsOn = "[cChocoInstaller]installChoco" } } }installGit属于笔误,已同步修正为installFirefox,不修正也不影响功能执行,仅会增加配置理解成本。 - 第三步:重新编译配置
再次执行配置编译命令,即可正常生成对应的MOF文件。
内容的提问来源于stack exchange,提问作者reticentKoala
相关产品推荐
相关产品推荐

