Windows

如何控制在 Windows 上執行哪個版本的 Powershell Puppet?

  • July 10, 2020

Microsoft 最近更改了他們的 Windows Powershell 下載儲存庫以要求 TLS 1.2+,如果沒有執行時設置更改為Net.ServicePointManager.

我可以更改 Puppet 以使用 Pwsh (7.x) 作為預設值,還是可以更改一些 Puppet 程式碼以將Net.ServicePointManager程式碼段注入到配置的 5.1 以在所有 Puppet 啟動的 Windows Powershell 會話中支持 TLS 1.2?

我試圖解決的根本問題是失敗並出現與此類package似的錯誤。

問題出在舊windowspowershell提供商中。修復記錄在此處

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,
}

引用自:https://serverfault.com/questions/1024765