当我意外禁用“高级系统设置”下的“远程连接”时,我正在通过RDP运行Windows Server 2012的AWS EC2实例,这会立即关闭我的RDP会话。
我是否可以在EC2“用户数据”字段中添加任何脚本,以便在重新启动实例时重新启用远程连接?
如果没有,是否有办法通过在另一个实例下安装驱动器来重新启用它?
由于
答案 0 :(得分:2)
我最终做了以下事情:
停止实例,分离根卷并将其作为另一个Windows实例上的另一个分区附加。连接后,转到磁盘管理并在线设置,安装注册表配置单元并进行适当的更改。
导航到注册表中的以下位置
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server
在右窗格中,找到名为fDenyTSConnection的REG_DWORD值。双击fDenyTSConnection并将值数据从1(禁用远程桌面)更改为0(启用远程桌面)。
如果服务器处于排水模式,则找到名为TSServerDrainMode的REG_DWORD值,并将值数据从1(禁用远程桌面)更改为0(启用远程桌面)。
卸载注册表,将磁盘设置为脱机,分离EBS卷,然后将其作为原始Windows实例的根卷重新附加,并验证您是否可以立即访问它。
来源:https://forums.aws.amazon.com/thread.jspa?threadID=128525
另见:
如何在Regedit中安装注册表配置单元 http://www.youtube.com/watch?v=UuSxbDIlFW0
答案 1 :(得分:0)
是的,您可以使用运行AWSSupport-ExecuteEC2Rescue Automation(AWS Systems Manager)来重新启用RDI
请仔细执行以下步骤:
通过https://console.aws.amazon.com/systems-manager/打开AWS Systems Manager控制台。
在导航窗格中,选择自动化。
选择执行自动化。
在文档列表中,选择 AWSSupport-ExecuteEC2Rescue 。文档所有者是亚马逊。
在“文档详细信息”部分中,验证“文档版本”已设置为最高默认版本。例如13(默认)。
在“执行模式”部分中,选择简单执行。保持“目标和速率控制”选项为禁用状态。
在“输入参数”部分中,指定以下参数:
对于UnreachableInstanceId,请指定无法访问的实例的ID 。
对于LogDestination,如果要收集操作,请指定Amazon S3存储桶 系统级日志,同时对实例进行故障排除。日志会自动上传 到指定的存储桶。
对于EC2RescueInstanceType,为EC2Rescue实例指定实例类型。的 默认实例类型为t2.small。(如果您感到困惑,请照原样离开,然后转到
对于SubnetId,请在现有VPC中的与子网域相同的可用区中指定一个子网。 无法访问的实例。默认情况下,Systems Manager创建一个新的VPC,但是您可以 如果需要,请在现有VPC中指定一个子网。 (如果您是 困惑,继续前进)
注意
如果看不到用于指定存储桶或子网ID的选项,请确认您使用的是文档的最新默认版本。
对于AssumeRole,如果您通过使用本主题前面介绍的CloudFormation过程为此自动化创建了角色,则指定从CloudFormation控制台复制的AssumeRole ARN。
有时需要5-10分钟,您便可以使用新IP访问旧实例。
以下是此问题的AWS文档: https://aws.amazon.com/premiumsupport/knowledge-center/troubleshoot-remote-desktop-connection-ec2-windows/