通过AWS用户数据字段在Windows Server 2012上启用远程连接

时间:2013-08-30 00:07:08

标签: powershell amazon-web-services amazon-ec2 windows-server-2012

当我意外禁用“高级系统设置”下的“远程连接”时,我正在通过RDP运行Windows Server 2012的AWS EC2实例,这会立即关闭我的RDP会话。

我是否可以在EC2“用户数据”字段中添加任何脚本,以便在重新启动实例时重新启用远程连接?

如果没有,是否有办法通过在另一个实例下安装驱动器来重新启用它?

由于

2 个答案:

答案 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

请仔细执行以下步骤:

  1. 通过https://console.aws.amazon.com/systems-manager/打开AWS Systems Manager控制台。

  2. 在导航窗格中,选择自动化

  3. 选择执行自动化

  4. 在文档列表中,选择 AWSSupport-ExecuteEC2Rescue 。文档所有者是亚马逊。

  5. 在“文档详细信息”部分中,验证“文档版本”已设置为最高默认版本。例如13(默认)。

  6. 在“执行模式”部分中,选择简单执行。保持“目标和速率控制”选项为禁用状态。

  7. 在“输入参数”部分中,指定以下参数:

    对于UnreachableInstanceId,请指定无法访问的实例的ID

    对于LogDestination,如果要收集操作,请指定Amazon S3存储桶 系统级日志,同时对实例进行故障排除。日志会自动上传 到指定的存储桶。

    对于EC2RescueInstanceType,为EC2Rescue实例指定实例类型。的 默认实例类型为t2.small。(如果您感到困惑,请照原样离开,然后转到

    对于SubnetId,请在现有VPC中的与子网域相同的可用区中指定一个子网。 无法访问的实例。默认情况下,Systems Manager创建一个新的VPC,但是您可以 如果需要,请在现有VPC中指定一个子网。 (如果您是 困惑,继续前进)

注意

如果看不到用于指定存储桶或子网ID的选项,请确认您使用的是文档的最新默认版本。

对于AssumeRole,如果您通过使用本主题前面介绍的CloudFormation过程为此自动化创建了角色,则指定从CloudFormation控制台复制的AssumeRole ARN。

  1. 选择执行自动化。

有时需要5-10分钟,您便可以使用新IP访问旧实例。

以下是此问题的AWS文档: https://aws.amazon.com/premiumsupport/knowledge-center/troubleshoot-remote-desktop-connection-ec2-windows/