Не удалось установить доверительные отношения для безопасного канала SSL/TLS при загрузке файла через Powershell DSC

Я пытаюсь загрузить файл, вызвав веб-запрос внутри Powershell DSC.

Когда я выполняю скрипт, я получаю ошибку

PowerShell DSC resource MSFT_ScriptResource  failed to execute Set-
TargetResource functionality
with error message: The underlying connection was closed: Could not 
establish trust relationship for the SSL/TLS secure channel.

Если я вызываю веб-запрос с теми же заголовками и прокси за пределами DSC, запрос завершается успешно. Что я могу сделать, чтобы запрос работал внутри DSC?

Script DownloadArtifact{

        GetScript = 
        {
           Result = ('True' -in (Test-Path -Path "C:\Temp\BuildPackage\MyAPI.zip"))
        }
        SetScript = {

               $outfile = "C:\Temp\BuildPackage\MyAPI.zip"

                $headers = @{"Authorization"="Basic <redacted>"}

                $uri = "https://mycompany.visualstudio.com/_apis/build/builds/10374/artifacts/?artifactName=MyAPI&%24format=zip"

                Invoke-WebRequest -Uri $uri -OutFile $outfile -Headers $headers -Proxy "http://proxy:8080"

                Unblock-File -Path $outfile;
            }
            TestScript = 
            {
                Test-Path -Path "C:\Temp\BuildPackage\MyAPI.zip"
            }           
    }

Кстати я получаю ту же ошибку при использовании [xRemoteFile] тоже.

1 ответ

Попробуйте добавить это перед Invoke-WebRequest

[Net.ServicePointManager]::SecurityProtocol = "tls12, tls11, tls"
Другие вопросы по тегам