telnet connection testing through powershell

Welcome Forums General PowerShell Q&A telnet connection testing through powershell

Viewing 4 reply threads
  • Author
    • #162342
      Topics: 4
      Replies: 0
      Points: 34
      Rank: Member

      Hi All,

      I want to check whether telnet connection to a SMTP server on port 25 is working or not from a machine. Below is the script i’ve written to do it.

      Now when i run the telnet command on a machine manually it is saying “421 4.3.2 Service not available…. Connection to host lost.” so telnet connection is not working from that machine. that is fine.

      but if i run the below script on the same machine where telnet failed with above said error message, it is saying “Success”. Not sure what is wrong with my script, please help

      $Socket = New-Object Net.Sockets.TcpClient

      # Suppress error messages
      $ErrorActionPreference = ‘SilentlyContinue’

      # Try to connect
      $Socket.Connect(“”, “25”)

      # Make error messages visible again
      $ErrorActionPreference = ‘Continue’

      # Determine if we are connected.
      if ($Socket.Connected) {
      Write-Output “Success”
      else {
      Write-Output “Failed”
      # Apparently resetting the variable between iterations is necessary.
      $Socket = $null

    • #162344
      Topics: 5
      Replies: 2368
      Points: 5,987
      Helping Hand
      Rank: Community MVP
    • #162377
      Topics: 30
      Replies: 828
      Points: 2,554
      Helping Hand
      Rank: Community Hero
      test-netconnection -port 25
    • #162411
      Topics: 2
      Replies: 1013
      Points: 2,093
      Helping Hand
      Rank: Community Hero

      JS, as for this …

      test-netconnection -port 25

      … yeppers, but this is only available if the OP in on an OS and PS version that has it. Hence, maybe the reason the OP is using what they are, or maybe they just don’t know about Test-NetConnection either.

    • #162614
      Topics: 1
      Replies: 64
      Points: 363
      Helping Hand
      Rank: Contributor

      Since you’re testing access to a mail server, why not simply send a test message?

      $MailParams = @{
                       To          = "[email protected]"
                       From        = "[email protected]"
                       SmtpServer  = ""
                       Subject     = "Connectivity Error from $machine"
                       Body     = "Connectivity Error from $machine"
      Send-MailMessage @MailParams

      if it goes through, great. If it doesn’t you’ll get an error back that’ll at least tell you if its from a mail server or not. If the error message is from the mail server great….access is open.

Viewing 4 reply threads
  • The topic ‘telnet connection testing through powershell’ is closed to new replies.