Forum Discussion

Mukund2021's avatar
Mukund2021
Copper Contributor
Jan 21, 2022

The underlying connection was closed: An unexpected error occurred on a send

PowerShell Script connecting to SharePoint online using Connect-PNPOnline

 

as below code sample

 

$credential = Import-Clixml $currfolderPath"\SPOnlineCredential.xml"
$credentials = New-Object System.Management.Automation.PSCredential ($credential.UserName, $credential.Password)

Write-Host "User Crendtial to Run the script" $credential.UserName
$con=Connect-PnPOnline -Url $siteName -Credentials $credentials –ReturnConnection
$ctx=Get-PnPContext

 

gives below error:

 

System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send. ---> System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
--- End of inner exception stack trace ---
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
at System.Net.FixedSizeReader.ReadPacket(Byte[] buffer, Int32 offset, Int32 count)
at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result)
at System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size)
at System.Net.PooledStream.Write(Byte[] buffer, Int32 offset, Int32 size)
at System.Net.ConnectStream.WriteHeaders(Boolean async)
--- End of inner exception stack trace ---
at PnP.PowerShell.Commands.Base.ConnectOnline.ProcessRecord()
at System.Management.Automation.CommandProcessor.ProcessRecord()

  • Mukund2021 

     

    If you run the command below, does it allow you to connect?

     

    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12

     (It allows TLS, TLS 1.1 and TLS 1.2)

    • Mukund2021's avatar
      Mukund2021
      Copper Contributor

      Harm_Veenstra 

       

      Dear Harm_Veenstra, 

       

      Thank you for your reply, I have used all the possible Security Protocol on defining on Top of the script and also inside the function of my PowerShell script , Please find the attached screen shot for the same but still I am getting same error, Is it some thing I should upgrade PowerShellGet Module but it is also , at latest version 1.0.0.1, Please guide me for this error 

      Thank you so much.

       

      With Regards

      Mukund

Resources