当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] PowerShell Telnet 和 Telnet 命令的替代方法

作者:精品下载站 日期:2024-12-14 17:24:40 浏览:16 分类:玩电脑

PowerShell Telnet 和 Telnet 命令的替代方法


Telnet 协议用于建立到远程计算机的远程连接。 Telnet 提供对远程计算机上的命令行界面的访问。但是,出于安全考虑,所有版本的 Windows 操作系统都默认禁用 Telnet 客户端功能。如果您不想启用 Telnet 客户端功能,可以使用 PowerShell Telnet 的替代方法来测试远程计算机连接。

如果您尝试在 PowerShell 中运行 Telnet,它将引发异常,因为“Telnet”未被识别为 cmdlet 的名称。

在本文中,我将向您解释如何使用 PowerShell Telnet 和 PowerShell Telnet 替代方案来测试通过端口的远程主机连接。

在所有版本的 Windows 操作系统中,出于安全原因,默认情况下禁用 Telnet 客户端。

让我们了解一下测试远程计算机连接的 PowerShell Telnet 替代方案

使用 Test-NetConnection 测试连接

PowerShell Test-NetConnection cmdlet 用于测试与远程计算机的连接并获取有关连接的诊断信息。

语法

Test-NetConnection
    [[-ComputerName] <String>]
    [-TraceRoute]
    [-Hops <Int32>]
    [-InformationLevel <String>]
    [<CommonParameters>]

要测试与远程主机的 ping 连接,请使用 PowerShell Test-NetConnection 命令:

Test-NetConnection -ComputerName 192.168.0.6 -InformationLevel "Detailed" -Port 3389

在上面的命令中,PowerShell Test-Connection 命令测试与由 ComputerName 和端口 3389 指定的远程计算机名称的 ping 连接。

它返回有关远程计算机连接的详细诊断信息,如下所示

ComputerName            : 192.168.0.6
RemoteAddress           : 192.168.0.6
RemotePort              : 3389
NameResolutionResults   : 192.168.0.6
MatchingIPsecRules      :
NetworkIsolationContext : Private Network
IsAdmin                 : False
InterfaceAlias          : Wi-Fi
SourceAddress           : 192.168.0.6
NetRoute (NextHop)      : 0.0.0.0
TcpTestSucceeded        : True

如果 PingSucceeded 为 true,则表示可以通过端口 3389 访问远程计算机,否则无法访问。 PowerShell Test-Connection 测试端口,无需 telnet。

使用 System.Net.Sockets.TcpClient 测试连接

Microsoft .Net System.Net.Sockets.TcpClient 提供到指定端口号上的远程主机的 telnet 连接。

要测试与远程计算机的连接,请使用 System.Net.Sockets.TcpClient 方法:

New-Object System.Net.Sockets.TcpClient("192.168.0.6", 3389) 

在上面的命令中,TcpClient 方法使用远程计算机 IP 地址和端口号来测试连接。

它返回有关通过以下端口号与远程计算机进行测试连接的详细诊断信息:

Client              : System.Net.Sockets.Socket
Available           : 0
Connected           : True
ExclusiveAddressUse : False
ReceiveBufferSize   : 65536
SendBufferSize      : 65536
ReceiveTimeout      : 0
SendTimeout         : 0
LingerState         : System.Net.Sockets.LingerOption
NoDelay             : False

在上面的输出中,

已连接:如果通过端口成功连接到远程计算机,则为真

已连接:如果通过端口连接到远程计算机不成功,则为 False。

酷提示:如何在 PowerShell 中使用 Get-AdDomainController 获取域控制器!

使用 PowerShell Telnet 测试连接

默认情况下,Windows 10 或所有 Windows 版本上禁用 Telnet 客户端。要在 PowerShell 中使用 Telnet,请启用 Telnet 客户端功能。

有两种不同的方法在 Windows 中启用 Telnet 客户端

使用命令提示符 (cmd) 安装 Telnet 客户端

要使用 cmd 安装 Telnet 客户端,请使用以管理员身份运行打开命令提示符。

使用命令 dism 及其 /Enable-Feature/FeatureName:TelnetClient 来启用 Telnet 客户端功能:

dism /online /Enable-Feature /FeatureName:TelnetClient

在上面的命令中,dism命令用于修复或修改Windows安装介质及其功能。该命令使用Enable-Feature参数和TelnetClient作为FeatureName,并启用Windows操作系统上的Telnet客户端来测试端口。

使用 PowerShell 安装 Telnet 客户端

要使用 PowerShell 控制台安装 Telnet 客户端,请使用以管理员身份运行打开终端。

Install-WindowsFeature cmdlet 需要安装 ServerManager。使用以下命令安装模块

Import-Module ServerManager

在 PowerShell 终端中运行以下命令以在 PowerShell 中启用 Telnet。

Install-WindowsFeature -name "Telnet-Client"

在上面的命令中,使用Install-WindowsFeature,它以 Telnet-Client 作为功能名称,并且在脚本执行时,它启用 PowerShell 中的 Telnet 通过端口测试与远程主机的连接。

结论

Telnet 命令对于系统管理员测试远程计算机上的连接以及测试端口(如果使用)或阻止端口(如果未使用)非常有用。

如果未启用 PowerShell Telnet 客户端,您可以使用 dism 或 Install-WindowsFeature 命令启用它。如果您不想启用 Telnet 客户端功能,还有另一种 telnet 替代方法可以使用 PowerShell Test-Connection 和 System.Net.Sockets.TcpClient 来测试与远程主机的连接。代码>

您可以在 ShellGeek 主页上找到有关 PowerShell Active Directory 命令和 PowerShell 基础知识的更多主题。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯