希望这是正确的地方。我在 Windows Server 上使用 Puppet,并希望使用 Puppet 安装在 Powershell 库中找到的 Powershell 模块。我已阅读https://forge.puppet.com/puppetlabs/dsc/readme但是没有关于确保系统上安装了画廊模块的信息。我假设可以通过类似
dsc_module { 'module_name':
dsc_ensure => 'present',
}
但这似乎不起作用。也没有错误。我猜我需要使用像巧克力这样的东西。有人能确认这是否可行吗?
答案1
您可以使用不同的模块来完成此操作:
这powershell模块Puppet 模块看起来可以管理软件包存储库并从中安装模块,尽管我自己没有用过它。示例来自模块描述页面:
pspackageprovider {'Nuget':
ensure => 'present'
}
psrepository { 'PSGallery':
ensure => present,
source_location => 'https://www.powershellgallery.com/api/v2/',
installation_policy => 'trusted',
}
package { 'module_name':
ensure => latest,
provider => 'windowspowershell',
source => 'PSGallery',
}
我确实看了一下,但没有看到仅使用 DSC 安装 PowerShell 模块的内置方法;没有名为“模块”的 DSC 资源,我认为您正尝试使用 Puppet DSC 模块进行配置。
编辑:
刚刚又检查了一下是包管理的资源。因此,您可以按如下方式更新原始代码:
dsc_packagemanagement { 'module_name':
dsc_ensure => 'present',
dsc_name => 'module_name',
}
https://docs.microsoft.com/en-us/powershell/dsc/packagemanagementdscresource