远程桌面连接(mstsc)全攻略
打算从今天开始,写一写我经常用的,有长时间使用经验的东西,与大家分享,就从mstsc
开始吧!
mstsc
应该是在Windows中,除了calc
、cmd
、notepad
、mspaint
,我使用率最高的系统软件了,它真的很好用。下面我们就来详细介绍一下mstsc
。
注意:由于本人没有用过Win8/Win8.1,因此本文基本上忽略了Win8。在本文中若没有特别说明使用的系统,则默认都是按Win10来操作。
1 开启计算机的远程桌面连接功能
打开系统属性,打开远程设置,选择“允许远程连接到此计算机”,但是不建议勾选“仅允许运行使用网络级别身份验证的远程桌面的计算机连接”,如果勾选则WinXP等系统则不能远程控制该计算机。Win7的选项有些不同,但其实是一个意思,建议选择“允许运行任意版本远程桌面的计算机连接”。
另外,上面的这个远程协助跟mstsc没关系,不用勾选。这个远程协助指的是msra
这个命令。
想要计算机能被远程,需要开启Windows防火墙。需要注意的是,一定要在防火墙中给“远程桌面”设置允许通过。如果你设置只允许它在专用网络通过防火墙,则一定要注意计算机当前使用的网络是专用还是公用,如果是公用则需改为专用。不过最简单的还是允许它专用和公用都能通过。(Win7中的家庭和工作都属于专用)
注意:一定要关闭远程计算机的自动休眠功能!
2 运行mstsc
按Win+R
,运行mstsc
。输入IP,点击连接,之后输入用户名和密码即可。可勾选保存凭据。
3 远程设置
分辨率、颜色质量、性能这些都很常用,下面说一些不是很常用的设置。
- 在“显示”选项卡中,可以设置全屏显示时是否显示连接栏。如果设置不显示,那么在进入远程界面几秒后连接栏就会消失。想要调出连接栏以关闭远程,就得用快捷键。
- 在“本地资源”选项卡中,可以设置远程计算机可以使用的本地资源。默认剪贴板是开启的,也就是说,远程计算机和本地计算机共享剪贴板,可以复制文字、文件等。另外还有一个容易被忽视的功能,点击详细信息,里面可以将驱动器映射到远程计算机,可以是硬盘,也可以是U盘。这样远程计算机就能直接访问本地设备了。
4 快捷键
CTRL+ALT+END
: 可发送CTRL+ALT+DELETE
到远程计算机。直接按CTRL+ALT+DELETE
操作的是本地计算机。CTRL+ALT+HOME
: 如果设置了“全屏显示时不显示连接栏”,可用此快捷键调出连接栏以关闭远程。注意:Win7以下不支持。Win7以下设备可按下CTRL+ALT+DELETE
,选择任务管理器,这样可以调出开始菜单,在任务栏中关闭,或者直接在任务管理器中关闭,也是可以的。
更多快捷键可以参考微软官方文档。
另外,如果想全屏时最小化远程窗口,比较难,在这里有相关讨论,目前我还没有找到比较合适的解决方案。
5 修改端口
远程桌面连接默认使用3389端口,如果想修改默认的端口,需运行regedit
进入注册表,修改HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp
和HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
的PortNumber
键值即可。修改时要注意使用的是十进制还是十六进制方式。
修改端口后,在远程输入IP时,就要显式指定端口号,形如ip:port
。
若使用IPV6地址进行远程,IPV6地址必须使用中括号,例如[2001:da8:214:1086:747c:abcd:efgh:1c6a]:22
。如果不修改端口,IPV6地址可以不加中括号。
6 WinXP的一些细节
- 使用WinXP进行远程时,是进入远程计算机界面进行登录操作(类似进入系统前的登录界面),因此可以看到远程计算机有哪些用户,直接选择并输入密码即可,根本不需要我知道远程计算机用户名是多少。这也是后来的系统要给出“仅允许运行使用网络级别身份验证的远程桌面的计算机连接”的选项的原因之一。
- 也正是由于上面这一的原因,使用WinXP远程要想保存凭据,必须在远程前在“常规”选项卡中勾选“允许我保存凭据”,点击连接后,会弹框让你输入密码。为什么要这么做?因为直接远程过去的话,所有操作就已经在远程计算机上了,包括输入密码,也就没法保存密码了。
- 由于WinXP的特殊性(安全性低),可能会存在其他系统无法远程某机器,但是WinXP可以的情况。如果出现这种情况,一定是远程计算机的安全设置出现了问题,可进一步排查。例如我今天遇到一个Win10电脑不能被远程,提示凭据无法工作的情况,用WinXP可以远程过去,其他系统都不行,最后发现是组策略某设置的问题,具体解决方法是运行
gpedit.msc
打开组策略,找到计算机配置->Windows设置->安全设置->本地策略->安全选项->网络访问:本地帐户的共享和安全模型
,修改为经典模式即可。
7 Win8以后的Microsoft账户问题
由于Win8以后开始使用MS账户,由此产生了一些“无法远程”的问题。究其原因,是MS账户的域的问题。
如图所示,这是一台已登录MS账户的Win10计算机,想远程某个Win7机器时,域被自动设置成了MicrosoftAccount,此时输入用户名密码后,会提示凭据无法工作。这是因为远程计算机本地账户的域不是MicrosoftAccount,因此需要显式指定计算机的域。
以远程我的计算机为例,我的计算机名是fz-DESKTOP
,工作组为WORKGROUP
,用户名为fz
。在一台登录了MS账户的计算机上远程我的计算机时,用户名输入fz-DESKTOP\fz
或者WORKGROUP\fz
就可以正常远程了。
另外,如果远程一台登录了MS账户的计算机,使用本地账户和MS账户都可以,只是可能需要使用相应的域。
UPDATE: 似乎新版本的Win10 10586已经解决了此问题,即使使用MicrosoftAccount域也可以登录本地账户。Win8不太清楚。
8 不能用mstsc进行的工作
其实绝大多数情况使用mstsc都没什么问题,有一种情况肯定是不行的,那就是对显示要求高的程序,例如看视频。
其实我们想一想就可以知道,网络带宽根本不足以支撑正常的显示数据传输,所以MS做了一些优化,让我们远程起来不是那么卡。而看视频的话,这种优化就没用了,因为看视频需要很高的帧数。
另外音频传输会有一定延迟,但是我还没搞清楚为什么,理论上应该是可以做到无延迟的(或延迟很低)。
9 多用户远程
对于MS来说,多用户同时远程一台计算机在技术上并不是难事,不过似乎MS只提供给了Server版这样的功能,普通的系统要手动修改系统文件的。
其实一般是用不到这个功能的,有需要或者有兴趣的话可以搜索“Windows 多用户远程”。
10 Linux远程Windows
上面说的都是Win远程Win的情况,有时候我们也会需要在其他系统上远程Win。
在Linux中,可以使用rdesktop
这个软件。
以Ubuntu为例,执行sudo apt-get install rdesktop
安装。给出一个常用的命令格式:
rdesktop -a 16 -u [username] -p [password] -f -r disk:name=/home/fz -r clipboard:PRIMARYCLIPBOARD -r sound:local [ipaddress]
-a 16
: 使用16位色。-u username
: 指定用户名为username。-p password
: 指定密码为password。-f
: 全屏模式。-r disk:name=/home/fz
: 将本地路径/home/fz
映射到远程计算机中,并起名为name,使其可被远程计算机访问。-r clipboard:PRIMARYCLIPBOARD
: 共享剪贴板,但不支持文件操作。(实际使用中这个共享剪贴板经常出问题)-r sound:local
: 映射远程计算机声音到本地。
可以按CTRL+ALT+ENTER
进行全屏/窗口模式切换。想要退出远程,也只能先切换到窗口模式再退出。
若需指定分辨率,可以把-f
换成-g [resolution]
,例如-g 1920x1080
。
若不指定用户名和密码,则会进入远程计算机的登录界面(类似WinXP),但是不能像WinXP一样显示出远程计算机的用户名。
想要让远程计算机执行CTRL+ALT+DELETE
,直接执行即可(它在Linux中不是系统快捷键)。
更多设置可以man rdesktop
来查看。
另外,Ubuntu自带一个Remmina的远程软件,直接执行即可打开。它支持mstsc的RDP协议,也支持SSH、SFTP等等。
11 Android远程Windows
用起来很简单,效果如下:
12 OS X远程Windows
虽然我并没有用过OS X,不过风刃同学反映他的远程软件想要远程Win10,必须修改远程计算机的组策略,我对此表示怀疑,后来发现他用的是2010年的旧版,而新版Microsoft Remote Desktop只在美区的App Store可以找到,国区没有。所以使用美区账号下载即可,链接在此。这个是一直在更新的,上个月底刚更新过。
另外,OS X用linux的rdesktop
也可以的,我让junshi同学测试了一下,执行brew install rdesktop
安装,中间会提示需要安装一些库,按提示装好即可。
也可以在github,下载release,可参考README安装。(不过这个我没测试)
2018-04-04 UPDATE: 风刃同学告诉我App Store的Microsoft Remote Desktop已经不更新了,现在在Mac上使用RDP最好的方法是brew cask install microsoft-remote-desktop-beta
,这种方法还不需要appleid。
13 PPPoE用户获取IP
如果是想远程家里的电脑,而家里的电脑使用的是PPPoE拨号的话,每次自动获取的IP是随机分配的。想要远程就必须知道电脑的IP是多少。
获取IP的访问有很多,如果你有一个公网服务器的话,这事就简单了。
我的处理方法是让该电脑每1小时访问一次服务器的某个网页,该网页用PHP的$_SERVER['REMOTE_ADDR']
得到访问者IP,并记录下来,通过访问服务器就可以得到家里电脑的IP了。
14 非公网IP、非固定IP的一些方案
如果你是非固定IP,则情况类似PPPoE,可以用上面的方法解决。但如果你没有公网IP,更准确地说是你没有可以直连的IP,那又怎么办呢?
你可以使用VPN达到这一目的。同样地,你需要一台可以直连IP的服务器,装一些VPN软件,让两台机器同时连上VPN,使用你设置好的该VPN分配的内网IP就可以进行远程了。
**2018-08-09 UPDATE: 也可以使用frp这种内网穿透软件。
远程桌面连接(mstsc)全攻略的更多相关文章
- 远程桌面连接mstsc 超扎心
搞了一天问了几千个人.最后终于有一位大佬解决了.扎心啊. http://jingyan.baidu.com/article/39810a23edc48bb637fda672.html 就是服务没打开.
- Win7系统 mstsc远程桌面连接失败,提示“您的凭据不工作” 或者“无法连接到远程计算机”的问题。
WIN7 mstsc远程桌面连接其他电脑,提示"您的凭据不工作xxxxxxx"的问题. 或者提示: 本机通过mstsc远程桌面连接服务器,我们按照下面的步骤来逐一排查: 本机配置以 ...
- 【Ubuntu】Windows 远程桌面连接ubuntu及xrdp的一些小问题(远程桌面闪退、连接失败、tab补全功能,无菜单栏,error - problem connecting )【转】
转:https://blog.csdn.net/u014447845/article/details/80291678 1.远程桌面闪退,shell可以用的问题:(1)需要在该用户目录创建一个.xse ...
- mstsc Windows局域网内远程桌面连接
1.检查被连接计算机的远程桌面连接功能是否开启 控制面板->系统和安全->系统->远程设置->远程桌面->勾选"仅允许运行使用网络级别身份验证的远程桌面的计算 ...
- 远程桌面连接(mstsc)无法断开的解决方案
某2008 r2有二个系统账户,同时允许两个tcp连接,但每个用户仅同时允许一人登录.不知何因,关闭远程桌面连接的窗口后,再次连接就瞬间提示无法被连接.查看了事件查看器,信息为被注销,这是因为设置了“ ...
- 远程桌面连接(mstsc)
目录 1. 序言 2. 准备工作 3. 内网远程连接(以mstsc的方式) 4. 问题---凭据不工作 5. 外网远程连接(mstsc) 6. 结语 更新时间:2019.09.10 1. 序言 有时候 ...
- Android使用XML全攻略(2)
Android使用XML全攻略(2) Android 是针对移动设备的一种新兴的开源操作系统和 SDK.借助它,您可以创建功能强大的移动应用程序.当您的应用程序可以访问 Web 服务时,其吸引力会 ...
- 取代奶瓶Minidwep-gtk破解WPA 全攻略
取代奶瓶Minidwep-gtk 破 WPA 全攻略 目录 1. CDlinux 下使用 minidwepgtk 获取握手包并使用自带的字典破解 2. 自带的字典破解不出密码时使用 U 盘外挂字典继 ...
- Windows 7远程桌面连接Ubuntu 16.04
转自:http://jingyan.baidu.com/article/8ebacdf0cdc64949f75cd555.html 从Windows 7远程到Windows系统比较简单,只要对方电脑开 ...
随机推荐
- 【Python机器学习实战】感知机和支持向量机学习笔记(三)之SVM的实现
前面已经对感知机和SVM进行了简要的概述,本节是SVM算法的实现过程用于辅助理解SVM算法的具体内容,然后借助sklearn对SVM工具包进行实现. SVM算法的核心是SMO算法的实现,首先对SMO算 ...
- jmeter之JDBC类组件
~什么是JDBC?:全称名为Java DataBase Connectivity,(java数据库连接),在jmeter中是一种可以远程操作数据库的一类组件. ~jmeter如何操作数据库?:jmet ...
- HCNA Routing&Switching之STP端口状态、计时器以及拓扑变化
前文我们了解了STP选举规则相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15131999.html:今天我们来聊一聊STP的端口状态.计时器.端口状 ...
- 【死磕 Java 基础】— 我同事一个 select 分页语句查出来了 3000W 条数据
大家好,我是大明哥,一个专注于[死磕 Java]系列创作的男人 个人网站:https://www.cmsblogs.com/.专注于 Java 优质系列文章分享,提供一站式 Java 学习资料 某天我 ...
- Android WorkManager工作约束,延迟与查询工作
WorkManager工作约束,延迟与查询工作 本文可能会混用"工作"与"任务"这两个词. 本文例子使用Kotlin 准备一个工作类(任务)UploadWork ...
- Java - Enum 枚举类型
目录 前言 应用 定义 基本Enum特性 Enum的静态导入 Enum中添加新方法 Switch语句中的Enum Enum的继承 EnumSet的使用 EnumMap的使用 常量相关方法 枚举值向枚举 ...
- 题解—P2511 [HAOI2008]木棍分割
这道题第一眼直接一个二分板子把第一问解决掉,然后主要是统计方案. 其实这个方程还不算难推,只要推出来朴素 \(dp\) ,之后的一步一步也很顺理成章,所以这种题主要看能不能静下心来慢慢做. solut ...
- windows笔记-在可执行文件或DLL的多个实例之间共享静态数据
全局数据和静态数据不能被同一个. exe或DLL文件的多个映像共享,这是个安全的默认设置.但是,在某些情况下,让一个. exe文件的多个映像共享一个变量的实例是非常有用和方便的. 每个. exe或DL ...
- 请问在电脑里PNP是什么意思啊?
PnP(Plug and Play,即插即用)是指用户不必干预计算机的各个外围设备对系统资源的分配,而将这一繁杂的工作交给系统,由系统自身去解决底层硬件资源,包括IRQ(中断请求).I/O(输入输出端 ...
- 0x800b010a 证书
无论是装微软的什么应用,只要报这个错误,下载这个证书: http://download.microsoft.com/download/2/4/8/248D8A62-FCCD-475C-85E7-6ED ...