微软最近更改了 Windows Powershell 的下载存储库,要求使用 TLS 1.2+,而如果未将运行时设置更改为 ,Windows Powershell 5.1 则不支持该版本Net.ServicePointManager
。
我可以将 Puppet 更改为使用 Pwsh (7.x) 作为默认值吗?或者我可以更改一些 Puppet 代码以将Net.ServicePointManager
代码片段注入配置的 5.1,从而在所有 Puppet 启动的 Windows Powershell 会话中支持 TLS 1.2?
我试图解决的根本问题是package
失败并出现类似以下错误这。
答案1
puppetlabs-powershell 模块在自述文件中有一个简短的示例,介绍如何通过使用pwsh
提供程序而不是powershell
提供程序来使用 PowerShell6/7 而不是 5.1:https://github.com/puppetlabs/puppetlabs-powershell#requirements
要使用pwsh
提供程序,请将该provider
行更改为pwsh
,并设置(path
如果您的 pwsh 安装不在 PATH 上)。
exec { 'RESOURCENAME':
...
path => '/usr/alice/pscore',
provider => pwsh,
}
答案2
问题出在旧的windowspowershell
提供商上。修复已记录在案这里。