注:下列步骤并不一定适用所有场景,提供思路,请灵活应用

我们在使用Microsoft Azure 中Windows 虚拟机,有时会发生错误打开防火墙或一些管家软件错误的关闭了“远程桌面” ,会发生无法再次使用MSTSC.exe 连接到虚拟机的情况。

在下面的步骤中我假定无法RDP的虚拟机名字为VM01, 管理员为Azureuser, 密码为Password, Cloud Service 名为vm01.chinacloudapp.cn

  1. 在Azure管理网站上创建新的VM (ExtraSmall), 机器名RecoverVM, 用户名 为Azureuser 密码为Password, 放入同一个Cloud service下面。 如 vm01.chinacloudapp.cn
  2. 远程桌面访问 RecoverVM, RDP 端口为vm01.chinacloudapp.cn : xxxxx
  3. (关键) RecoverVM内打开REGEDIT,

    使用远程注册表连接到vm01, (可以打开的,原因a. 同一个cloud service下的VM在IP层面是互联互通的,b. Windows中,相同用户名,相同密码在工作组级别是相同安全级别的)



    增加注册表项 

    \VM01\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run  

    EnableRDP:  C:\Windows\RemoteDesktopEnabler.cmd (REG_SZ)



    增加注册表项 

    \VM01\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon               

    AutoAdminLogon : 0x1  (REG_DWORD)

    DefaultUsername: Azureuser (REG_SZ)               

    DefaultPassword: Password (REG_SZ)
  4. (关键)在recoveryvm  用notepad.exe 生成RemoteDesktopEnabler.cmd 复制到 \\vm01\c$\windows
  5. 生成 RemoteDesktopEnabler.cmd 仅适用于英文和简体中文的Windows , Vista 和以上的版本 附件
    ::0.Enable Fileshare/WinRM
    
     netsh advfirewall Firewall set rule group="Remote Administration" new enable=yes
    
     netsh advfirewall Firewall set rule group="Windows Remote Management" new enable=yes
    
     netsh advfirewall Firewall set rule group="File and Printer Sharing" new enable=yes
    
     netsh advfirewall firewall set rule group="Remote Desktop" new enable=yes
    
     netsh advfirewall firewall set rule group="远程桌面" new enable=yes
    
     netsh advfirewall firewall set rule group="远程管理" new enable=yes
    
     netsh advfirewall firewall set rule group="Windows 远程管理" new enable=yes
    
     netsh advfirewall firewall set rule group="文件和打印机共享" new enable=yes
    
     ::2 Enable RDP/RDP Firewall
    
     REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 00000000 /f



     

  6. 回到management.windowsazure.cn管理网站,重新启动VM01
  7. 等待5~10分钟,使用RDP vm01.chinacloudapp.cn:xxxx

检查一下故障是否解决

后续工作及说明

  1. 第3步中加入注册表的明文密码,如果担心将来管理不安全,可以去掉,使用Control userpasswords2 来设置自动logon可以不在注册表内写明文的密码
  2. 如果第3步(注册表修改),第4步(文件添加)无法执行,(可能情况,防火墙关闭了所有的端口)。我们可以这样操作。把虚拟机在管理网站中删除(保留磁盘方式)用Recover

    VM加载数据盘方式对 VM01的系统盘进行离线修改。
  3. 使用上述步骤后,将来再次关错防火墙,只要重启一下机器, 虚拟机就可以解决这个问题。

本文转载自:http://blogs.msdn.com/b/cciccat/archive/2014/06/03/windows-azure-rdp.aspx

如何修复在Microsoft Azure中“虚拟机防火墙打开,关闭RDP的连接端口”问题的更多相关文章

  1. Azure 中虚拟机的区域和可用性

    Azure 在中国的两个数据中心运行. 这些数据中心分组到地理区域,让用户可灵活选择构建应用程序的位置. 请务必了解 Azure 中虚拟机 (VM) 运行的方式和位置,以及最大化性能.可用性和冗余的选 ...

  2. 使用Powershell在Microsoft Azure中创建Virtual Machine

    获取虚拟机镜像 PS C:\WINDOWS\system32> Get-AzureVMImage 仅获得虚拟机名 PS C:\WINDOWS\system32> (Get-AzureVMI ...

  3. Azure 中虚拟机的备份和还原选项

    可以通过定期创建备份来保护数据. 有多个备份选项可用于 VM,具体取决于使用案例. Azure 备份 若要备份运行生产工作负荷的 Azure VM,请使用 Azure 备份. Azure 备份对 Wi ...

  4. 详细故障排除步骤:针对 Azure 中到 Windows VM 的远程桌面连接问题

    本文提供详细的故障排除步骤,用于为基于 Windows 的 Azure 虚拟机诊断和修复复杂的远程桌面错误. Important 若要消除更常见的远程桌面错误,请务必先阅读远程桌面的基本故障排除文章, ...

  5. Azure 中虚拟机的计划内维护

    Azure 定期执行更新,以提高虚拟机的主机基础结构的可靠性.性能及安全性. 此类更新包括修补宿主环境(例如操作系统.虚拟机监控程序以及主机上部署的各种代理)中的软件组件.升级网络组件以及硬件解除授权 ...

  6. Debian 防火墙 打开 关闭

    Debian原来用的是UFW防火墙,之前没接触过这种类型防火墙,懵逼了半天,这里记录一下简单的使用规则,后期在使用过程中慢慢完善UFW防火墙的使用操作方法: 查看防火墙现有规则: ufw status ...

  7. ubuntu 防火墙打开关闭

    1.查看防火墙状态 sudo ufw status 2.打开防火墙 sudo ufw enable 3.关闭防火墙 sudo ufw disable

  8. Microsoft Azure 负载平衡服务

     Microsoft Azure 为在其中托管的虚拟机(IaaS) 和云服务(PaaS) 提供负载平衡服务.负载平衡支持应用程序伸缩,并且提供应用程序故障恢复以及其他优势. 可以通过以下方式访问负 ...

  9. 设置将 Microsoft Azure 的网络基础结构以支持设置为灾难恢复站点

    Prateek Sharma 云 + Enterprise 高级项目经理 Azure SiteRecovery (ASR)可以将Microsoft Azure用作您的虚拟机的灾难恢复站点. 当管理 ...

随机推荐

  1. nginx上搭建HLS流媒体服务器

    http://blog.csdn.net/cjsafty/article/details/7922849 简介:HTTP Live Streaming(缩写是 HLS)是一个由苹果公司提出的基于HTT ...

  2. PeekMessage

    PeekMessage是一个Windows API函数.该函数为一个消息检查线程消息队列,并将该消息(如果存在)放于指定的结构. 1 语法 BOOL PeekMessage( LPMSG IpMsg, ...

  3. 从两个集合里排除重复的写法(适用:DB表和字段都很多,表间有关联的情况)

    获取其中一张表bulletinred为1的内容: public IList<BRShow> GetBulInfo() { var result = from a in ((Entities ...

  4. 关于IOS网络通信的学习

    最近由于需要在看关于网络通信方面的知识,所以在网上找了找关于网络解释方面的知识.找了半天没有找到一篇能详细解释通讯流程的,心里忍不住就万马奔腾了.没办法,谁让自己想学呢!于是又找了找,觉得没有满意的. ...

  5. 浅谈break 、continue、return,goto四种语句的区别。

    浅谈break .continue.return三种语句的区别: break,continue,return这三个具有跳转功能的语句在c语言中经常被用到,近期身边有些小伙伴总是把它们的用法搞乱,在这里 ...

  6. erlang 里的if 和 case

    case Expression of Pattern1 [when Guard1] -> Expr_seq1; Pattern2 [when Guard2] -> Expr_seq2; … ...

  7. Docker之配置Centos_ssh

    写Dockerfile配置文件 #DockerfileFROM centos:6  #以下命令用在什么镜像中MAINTAINER cuizhipeng <cuizhipeng@126.com&g ...

  8. javascript tab onclick

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org ...

  9. .NET异步操作学习之一:Async/Await中异常的处理

    以前的异常处理,习惯了过程式的把出现的异常全部捕捉一遍,然后再进行处理.Async/Await关键字出来之后的确简化了异步编程,但也带来了一些问题.接下来自己将对这对关键字进行学习.然后把研究结果放在 ...

  10. SQLServer:定时作业

    SQLServer:定时作业: 如果在SQL Server 里需要定时或者每隔一段时间执行某个存储过程或3200字符以内的SQL语句时,可以用管理-SQL Server代理-作业来实现 也快可以定时备 ...