我想覆盖Ansible的win_chocolatey模块附带的默认PowerShell脚本。我该怎么做?
在我的情况下,我试图覆盖MsSqlServerManagementStudio2014Express附带的ChocolateyInstall.ps1。我想在MsSQLServer的静默安装期间传递一些参数,例如系统管理员密码和实例名称。
我尝试使用" install_args"提供这些附加参数。和" params" win_chocolatey模块中的选项调用我的ansible playbook。但是,在MsSqlServerManagementStudio2014Express的powershell脚本中没有编写处理程序,以便在静默安装期间包含它们。
答案 0 :(得分:1)
安装参数(--install-arguments
的{{1}}选项)对包装完全不可见,并且它们被附加到包中的当前静默参数集。也可以使用choco.exe
完全覆盖它们。在Chocolatey的商业版中,您还可以通过--override-arguments
来保密日志。
包装参数(--install-arguments-sensitive
| --package-parameters
)不同,可以与包装相关的任何东西(不仅仅是安装人员)使用,但也必须存在于包装本身。对于商业版和秘密,您还有--params
。
您需要确保程序包使用--package-parameters-sensitive
,Install-ChocolateyPackage
或其他内置方法来了解安装参数可以与程序包一起使用。如果您需要参数,则需要与软件包的维护人员合作才能实现这些参数。
如果您在组织中使用Chocolatey,您将需要使用自己在内部存储的程序包。这保证了更高的可靠性和可重复性,这有助于组织使用任何东西。
另外,您可以直接将安装程序烘焙到包装中,因为您不需要在内部获得分销权,从而提供更可靠的体验。
在组织中规划Chocolatey时,阅读并理解这一点特别有用:https://chocolatey.org/docs/community-packages-disclaimer