title: Powershell FTPWebRequest and EnableSsl = True
body: <p>I searched this site and found an FTPWebRequest example via Powershell. I put it to use and it works fine. However, when I enable SSL via EnableSsl=$True, all I get is timeouts or a delayed "227 Entering Passive Mode", which breaks the process. As soon as I disable EnableSsl, I can fly right through. Can someone point me in the right direction? SSL is supported on the FTP host.</p>
  
  <p>I'd eventually like change the method to DownloadFile and loop the code to download files, after I get the list and find matches. I'd like to do it securely, though.</p>
  
  <pre><code>
  # Create an FTPWebRequest object to handle the connection to the FTP server
  $ftprequest = [System.Net.FtpWebRequest]::Create($sourceuri)
  
  # Set the request's network credentials for an authenticated connection
  $ftprequest.Credentials = New-Object System.Net.NetworkCredential($username,$password)
  
  # Set FTPWebRequest method to ListDirectory
  $ftprequest.Method = [System.Net.WebRequestMethods+Ftp]::ListDirectory
  $ftprequest.EnableSsl = $True
  $ftprequest.UseBinary = $False
  $ftprequest.UsePassive = $True
  $ftprequest.KeepAlive = $False
  
  $ftpresponse = $ftprequest.GetResponse()
  
  Write-Out $ftpresponse.StatusCode
  Write-Out $ftpresponse.StatusDescription
  </code></pre>