Telnet replacement in Powershell v4 & other stuff
Ultima versiune de Windows care venea cu clientul de telnet activat era Windows 2003. Din 2003 si pana acum au trecut 10 ani si tot nu e instalat by default. Cam atat le-a luat celor de la MS sa isi dea seama ca e nevoie de acel client sau daca nu de un replacement. Va intrebati, oare cine mai foloseste telnet? Pai orice admin cu experienta stie ca poti face telnet pe un port TCP pentru a testa conectivitatea dintre doua sisteme. In unele cazuri poti chiar trimite comenzi serverului remote (SMTP, HTTP).
Instalat by default tot nu o sa-l vedeti, dar acum exista un replacement ce vine cu Powershell V4, numit Test-NetConnection sau alias TNC. O simpla rulare a comenzii ne va afisa urmatoarele:
Fara nici un parametru specificat, comanda va testa conectivitatea la internet incercand un PING catre internetbeacon.msedge.net. Sau pot specifica eu un host preferat.
Deci putem folosi comanda ca si PING replacement (oarecum, o sa dezvolt mai tarziu). Dar daca vrem sa simulam echivalentul PING –T? O varianta ar fi asa:
while ($true) {Test-NetConnection google.com|ft -HideTableHeaders}
Dar spuneam ceva de Telnet. Putem folosi TNC pentru a incerca sa ne conectam pe un port TCP remote, folosind parametrul –PORT:
Sau putem folosi parametrul -CommonTCPPort cu una din valorile SMB,HTTP,RDP,PING (chiar daca ICMP-ul nu e TCP).
In exemplul de mai sus comanda a incercat o conexiune pe portul RDP (dar si ICMP – default). RDP a functionat, ICMP nu, dupa cum se si vede.
Iar si mai interesant este ca merge folosita si ca replacement pentru TRACERT, folosind –TraceRoute:
Comanda nu este perfecta si eu sper ca cei din echipa de Powershell sa nu se opreasca aici si sa o dezvolte in continuare. Le-a trebuit cam mult sa realizeze ca era nevoie de asa ceva. Stau si ma intreb din nou: oare pe cine a deranjat clientul ala de telnet???