Perhaps you're trying to use an old version of TLS? Try adding this to your script:
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
We have an azure functionapp in which we are running powershell script to connect management.azure.com and in that powershell script we are creating a management group by taking the token using the command $AccessToken = (Get-AzAccessToken).Token.
We got the error while fetching the token. So, we have generated the token and passed it as a variable.
Still we are getting the error as below.
2022-02-08T15:57:25.057 [Information] Executing 'Functions.fnManagementGrpSubscription' (Reason='This function was programmatically called via the host APIs.', Id=63e721ff-94ba-46ea-896f-a93de90fd192)
2022-02-08T15:57:25.361 [Error] ERROR: The SSL connection could not be established, see inner exception.Exception :Type : System.Net.Http.HttpRequestExceptionTargetSite :Name : MoveNextDeclaringType : System.Net.Http.ConnectHelper+<EstablishSslConnectionAsyncCore>d__4, System.Net.Http, Version=4.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aMemberType : MethodModule : System.Net.Http.dllStackTrace :at System.Net.Http.ConnectHelper.EstablishSslConnectionAsyncCore(Stream stream, SslClientAuthenticationOptions sslOptions, CancellationToken cancellationToken)at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean allowHttp2, CancellationToken cancellationToken)at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)at System.Net.Http.HttpConnectionPool.GetHttpConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)at System.Net.Http.HttpClient.FinishSendAsyncUnbuffered(Task1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)at Microsoft.PowerShell.Commands.WebRequestPSCmdlet.GetResponse(HttpClient client, HttpRequestMessage request, Boolean keepAuthorization)at Microsoft.PowerShell.Commands.WebRequestPSCmdlet.ProcessRecord()Message : The SSL connection could not be established, see inner exception.InnerException :Type : System.IO.IOExceptionTargetSite :Name : ThrowExceptionDeclaringType : System.Net.Sockets.Socket+AwaitableSocketAsyncEventArgs, System.Net.Sockets, Version=4.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aMemberType : MethodModule : System.Net.Sockets.dllStackTrace :at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.GetResult(Int16 token)at System.Net.FixedSizeReader.ReadPacketAsync(Stream transport, AsyncProtocolRequest request)at System.Net.Security.SslStream.ThrowIfExceptional()at System.Net.Security.SslStream.InternalEndProcessAuthentication(LazyAsyncResult lazyResult)at System.Net.Security.SslStream.EndProcessAuthentication(IAsyncResult result)at System.Net.Security.SslStream.EndAuthenticateAsClient(IAsyncResult asyncResult)at System.Net.Security.SslStream.<>c.<AuthenticateAsClientAsync>b__65_1(IAsyncResult iar)at System.Threading.Tasks.TaskFactory
1.FromAsyncCoreLogic(IAsyncResult iar, Func2 endFunction, Action
1 endAction, Task1 promise, Boolean requiresSynchronization)--- End of stack trace from previous location where exception was thrown ---at System.Net.Http.ConnectHelper.EstablishSslConnectionAsyncCore(Stream stream, SslClientAuthenticationOptions sslOptions, CancellationToken cancellationToken)Message : Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host..InnerException :Type : System.Net.Sockets.SocketExceptionMessage : An existing connection was forcibly closed by the remote host.SocketErrorCode : ConnectionResetErrorCode : 10054NativeErrorCode : 10054HResult : -2147467259Source : System.Net.SocketsHResult : -2146232800Source : System.Net.HttpHResult : -2146232800TargetObject : Method: POST, RequestUri: 'https://management.azure.com/providers/Microsoft.Management/checkNameAvailability?api-version=2020-05-01', Version: 1.1, Content: System.Net.Http.ByteArrayContent, Headers:{Authorization: Bearer eyTvt_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxJd_TJa-1meQC-ewrerr32Dwr-2FfeiwY-l_rwe-dRnRNwUser-Agent: Mozilla/5.0User-Agent: (Windows NT 10.0; Microsoft Windows 10.0.14393; en-US)User-Agent: PowerShell/7.0.7Content-Length: 104Content-Type: application/json}CategoryInfo : InvalidOperation: (Method: POST, Reque…application/json}:HttpRequestMessage) [Invoke-RestMethod], HttpRequestExceptionFullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommandErrorDetails : Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host..InvocationInfo :MyCommand : Invoke-RestMethodScriptLineNumber : 52OffsetInLine : 16HistoryId : 1ScriptName : C:\home\site\wwwroot\fnManagementGrpSubscription\run.ps1Line : $groupExist = (Invoke-RestMethod @Params).reasonPositionMessage : At C:\home\site\wwwroot\fnManagementGrpSubscription\run.ps1:52 char:16+ $groupExist = (Invoke-RestMethod @Params).reason+ ~~~~~~~~~~~~~~~~~~~~~~~~~PSScriptRoot : C:\home\site\wwwroot\fnManagementGrpSubscriptionPSCommandPath : C:\home\site\wwwroot\fnManagementGrpSubscription\run.ps1InvocationName : Invoke-RestMethodCommandOrigin : InternalScriptStackTrace : at <ScriptBlock>, C:\home\site\wwwroot\fnManagementGrpSubscription\run.ps1: line 52Microsoft.Azure.WebJobs.Script.Workers.Rpc.RpcException : Result: ERROR: The SSL connection could not be established, see inner exception.Exception :Type : System.Net.Http.HttpRequestExceptionTargetSite :Name : MoveNextDeclaringType : System.Net.Http.ConnectHelper+<EstablishSslConnectionAsyncCore>d__4, System.Net.Http, Version=4.2.2.0, Culture=neutral, PublicKeyToken=re3tygdd50a3aMemberType : MethodModule : System.Net.Http.dllStackTrace :at System.Net.Http.ConnectHelper.EstablishSslConnectionAsyncCore(Stream stream, SslClientAuthenticationOptions sslOptions, CancellationToken cancellationToken)at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean allowHttp2, CancellationToken cancellationToken)at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)at System.Net.Http.HttpConnectionPool.GetHttpConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)at System.Net.Http.HttpClient.FinishSendAsyncUnbuffered(Task
1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)at Microsoft.PowerShell.Commands.WebRequestPSCmdlet.GetResponse(HttpClient client, HttpRequestMessage request, Boolean keepAuthorization)at Microsoft.PowerShell.Commands.WebRequestPSCmdlet.ProcessRecord()Message : The SSL connection could not be established, see inner exception.InnerException :Type : System.IO.IOExceptionTargetSite :Name : ThrowExceptionDeclaringType : System.Net.Sockets.Socket+AwaitableSocketAsyncEventArgs, System.Net.Sockets, Version=4.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aMemberType : MethodModule : System.Net.Sockets.dllStackTrace :at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.GetResult(Int16 token)at System.Net.FixedSizeReader.ReadPacketAsync(Stream transport, AsyncProtocolRequest request)at System.Net.Security.SslStream.ThrowIfExceptional()at System.Net.Security.SslStream.InternalEndProcessAuthentication(LazyAsyncResult lazyResult)at System.Net.Security.SslStream.EndProcessAuthentication(IAsyncResult result)at System.Net.Security.SslStream.EndAuthenticateAsClient(IAsyncResult asyncResult)at System.Net.Security.SslStream.<>c.<AuthenticateAsClientAsync>b__65_1(IAsyncResult iar)at System.Threading.Tasks.TaskFactory1.FromAsyncCoreLogic(IAsyncResult iar, Func
2 endFunction, Action1 endAction, Task
1 promise, Boolean requiresSynchronization)--- End of stack trace from previous location where exception was thrown ---at System.Net.Http.ConnectHelper.EstablishSslConnectionAsyncCore(Stream stream, SslClientAuthenticationOptions sslOptions, CancellationToken cancellationToken)Message : Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host..InnerException :Type : System.Net.Sockets.SocketExceptionMessage : An existing connection was forcibly closed by the remote host.SocketErrorCode : ConnectionResetErrorCode : 10054NativeErrorCode : 10054HResult : -2147467259Source : System.Net.SocketsHResult : -2146232800Source : System.Net.HttpHResult : -2146232800TargetObject : Method: POST, RequestUri: 'https://management.azure.com/providers/Microsoft.Management/checkNameAvailability?api-version=2020-05-01', Version: 1.1, Content: System.Net.Http.ByteArrayContent, Headers:{Authorization: Bearer
Perhaps you're trying to use an old version of TLS? Try adding this to your script:
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12
Having the same issue when trying to run some Azure Powershell commands like Get-AZWebapp. Sometimes it'll work fine, sometimes it doesn't. Using latest Powershell 7 build and Windows 11.
Try adding this to your script:
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12