远程登录Windows系统是许多管理员和开发人员的日常需求,通过命令行工具可以高效地完成远程操作,以下是几种常用的远程登录Windows命令及其详细使用方法,涵盖不同场景和工具。

使用mstsc(远程桌面连接)
mstsc是Windows系统自带的远程桌面客户端,通过图形界面或命令行参数均可实现远程登录。
基本命令格式:
mstsc [参数]
常用参数:
/v:目标IP:指定远程计算机的IP地址或主机名,例如mstsc /v:192.168.1.100。/admin:直接连接到远程计算机的管理员会话(适用于服务器系统)。- /f:全屏模式连接。
- /w:宽度 /h:高度:自定义窗口大小,例如
mstsc /v:192.168.1.100 /w:1200 /h:800。
高级用法:
通过mstsc /edit可以打开远程桌面连接设置界面,配置显示选项、本地资源等,若需保存连接配置,可在设置完成后点击“另存为”,生成.rdp文件,后续直接双击文件即可连接。
使用psexec(PsTools工具集)
PsTools是微软官方提供的命令行工具集,其中的psexec可实现无交互式远程命令执行或登录。
基本命令格式:

psexec \\\\目标IP [-u 用户名 [-p 密码]] [命令]
示例:
- 远程执行命令:
psexec \\192.168.1.100 "ipconfig /all"。 - 以指定用户身份登录并打开CMD:
psexec \\192.168.1.100 -u administrator -p 123456 cmd。
注意事项:
- 需在目标计算机上启用“远程管理”(WinRM)或安装PsTools。
- 默认情况下,psexec使用445端口,需确保防火墙允许该端口通信。
使用Enter-PSSession(PowerShell远程)
PowerShell提供了更强大的远程管理功能,支持跨平台和加密通信。
前提条件:
目标计算机需启用WinRM服务,执行以下命令配置:
winrm quickconfig
基本命令格式:

Enter-PSSession -ComputerName 目标IP -Credential 用户名
示例:
$cred = Get-Credential # 弹出输入用户名和密码的对话框 Enter-PSSession -ComputerName 192.168.1.100 -Credential $cred
特点:
- 支持交互式会话,可直接在远程计算机上执行PowerShell命令。
- 默认使用HTTPS端口5986,安全性较高。
使用ssh(OpenSSH或第三方SSH客户端)
若需通过SSH协议远程登录Windows(需Windows 10 1809+或Server 2019+),可使用OpenSSH服务。
启用OpenSSH服务:
通过“设置”→“应用”→“可选功能”→“添加功能”安装OpenSSH服务器。
连接命令:
ssh username@目标IP
示例:
ssh admin@192.168.1.100
配置密钥认证:
在客户端生成SSH密钥(ssh-keygen),并将公钥(id_rsa.pub)上传至目标计算机的C:\Users\用户名\.ssh\authorized_keys,实现免密登录。
使用telnet(仅限基础测试)
telnet是传统的远程工具,但默认未启用且不加密,仅适用于简单连通性测试。
启用telnet客户端:
通过“控制面板”→“程序”→“启用或关闭Windows功能”勾选Telnet客户端。
测试命令:
telnet 目标IP 端口
示例:
telnet 192.168.1.100 3389 # 测试远程桌面端口是否开放
工具对比与选择建议
| 工具 | 协议 | 特点 | 适用场景 |
|---|---|---|---|
| mstsc | RDP | 图形化界面,支持多显示器、文件传输 | 日常远程桌面操作 |
| psexec | SMB | 命令行执行,无需安装客户端 | 批量脚本执行、无头服务器管理 |
| PowerShell | WinRM | 交互式会话,支持.NET对象管理 | 服务器高级管理、自动化运维 |
| SSH | SSH | 跨平台,支持密钥认证,适合脚本集成 | 开发环境、Linux/Windows混合环境 |
| telnet | TCP | 简单端口测试,不加密 | 网络连通性排查 |
相关问答FAQs
Q1: 远程登录时提示“目标计算机拒绝连接”如何解决?
A: 可能原因及解决方案如下:
- 防火墙拦截:检查目标计算机的防火墙是否允许远程连接端口(如RDP的3389端口、WinRM的5985/5986端口),或暂时关闭防火墙测试。
- 服务未启动:确保目标计算机启用了“远程桌面服务”(Win + R →
sysdm.cpl→ “远程”选项卡勾选“允许远程连接”)。 - 网络问题:验证两台计算机是否能互相ping通,检查路由器或交换机配置。
Q2: 使用PowerShell远程时出现“WinRM无法处理该请求”怎么办?
A: 通常是由于WinRM服务未正确配置,可按以下步骤修复:
- 运行WinRM快速配置:以管理员身份打开PowerShell,执行
winrm quickconfig,根据提示完成配置。 - 手动设置监听器:执行
winrm create winrm/config/listener?Address=*+Transport=HTTPS,确保HTTPS监听器已启用。 - 信任主机:修改WinRM配置,允许来自任意IP的连接(生产环境建议限制IP):
winrm set winrm/config/client '@{TrustedHosts="*"}'。
