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

我们在使用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. iOS svn版本回退 cornerstone

    http://blog.csdn.net/x32sky/article/details/46866899   IOS开发中,SVN如何恢复到某一个版本(以Cornerstone为例) Cornerst ...

  3. OC与Swift的区别一(文件结构)

    1.文件后缀名 oc的文件后缀名为:头文件.h  主体文件.m swift文件后缀名为:.swift 2. 代码分隔符 oc中使用分号;作为代码分隔符 swift中无需使用代码分隔符,以行作为代码分隔 ...

  4. time.h文件中包含的几个函数使用时须注意事项

    time.h头文件中包含以下函数 char* asctime(const struct tm *tm); char* asctime_r(const struct tm *tm,char *buf); ...

  5. android软件开发之webView.addJavascriptInterface循环渐进【一】

    本篇文章由:http://www.sollyu.com/android-software-development-webview-addjavascriptinterface-cycle-of-gra ...

  6. 九度OJ 1113 二叉树

    题目地址:http://ac.jobdu.com/problem.php?pid=1113 题目描述: 如上所示,由正整数1,2,3……组成了一颗特殊二叉树.我们已知这个二叉树的最后一个结点是n.现在 ...

  7. 【转】Ext JS xtype

      原文:Ext 中xtype一览 基本组件: xtype Class 描述 button Ext.Button 按钮 splitbutton Ext.SplitButton 带下拉菜单的按钮 cyc ...

  8. LOL(英雄联盟)系统鼠标速度锁定工具

    最近习惯将系统的鼠标速度降低, 而提高鼠标硬件DPI来提升移动准确度, 但是LOL的客户端每次启动进入游戏后就会还原系统鼠标的移动速度, 我把情况反应给腾讯,没想到他们一点都不重视, 建议我只改游戏里 ...

  9. 【javascript 函数基础知识】

    函数实际上是对象,每个函数都是 Function 类型的实例,而且都会与其他引用类型一样具有属性和方法.由于函数是对象,因此函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定. [概念标签] ...

  10. Python 命令行参数解析

    方法1: Python有一个类可以专门处理命令行参数,先看代码: #!/usr/bin/env python # encoding: utf-8 from optparse import Option ...