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

我们在使用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. swing容器继承重绘问题解决

    swing容器继承重绘问题解决   以JPanel为例,继承JPanel,想动态为器更换背景,这就涉及到重绘问题.一下是本人重写代码: package ui; import java.awt.Grap ...

  2. [C#][转][string 字符串截取

    C#几个经常用到的字符串截取 一. 1.取字符串的前i个字符 (1)string str1=str.Substring(0,i); (2)string str1=str.Remove(i,str.Le ...

  3. C++中delete和delete[]的使用

    偶然的机会要使用到动态分配整形数组,怎么删除new出来的东西一时有点模糊(也许一直就不知道),于是在VS上试了试(写代码时经常用这种方法去验证模凌两可的东西),总结出来有两点. 1.基本数据类型new ...

  4. References & the Copy-Constructor

    1 There are certain rules when using references: (Page 451) A reference must be initialized when it ...

  5. 进程显示,删除,调度 ps, top kill

    ps:查看进程的情况,显示的是某一时间进程的运行状态.ps --help top:也是查看进程的情况,动态显示进程信息! kill:杀死进程的情况, sudo kill --help 查看相关参数 c ...

  6. PHP trim去空格函数

    trim() 能除去的字符有“ ”空格."\t"水平制表符."\n"换行符."\r"回车符."\0字符串结束符".&qu ...

  7. js 验证输入框金额

    $("#ipt1").keyup(function () { var reg = $(this).val().match(/\d+\.?\d{0,2}/); var txt = ' ...

  8. 【python】三个变量互换值

    >>> x = 1>>> y = 2>>> z = 3>>> y3>>> z1 大写的帅字! (来自小甲鱼习题 ...

  9. 多目标遗传算法 ------ NSGA-II (部分源码解析)状态报告 打印 report.c

    /* Routines for storing population data into files */ # include <stdio.h> # include <stdlib ...

  10. 国内外最全的asp.net开源项目 (转)

    最近一些项目开始用到CMS系统,最开始是研究JAVA的,无奈国内JAVA的CMS开源系统还是比较少,最多最成熟的还是PHP的,当然现在.NET的也不少了,这里做一下汇总备忘,留待学习研究. 国内系统: ...