Установка пароля Windows Server в пользовательских данных EC2

Я хотел бы установить пароль администратора Windows Server 2012 R2 в пользовательских данных AWS EC2, но что-то в том, что я делаю, не работает.

Я запускаю экземпляр со следующим значением User Data:

<powershell>
$user = [adsi]"WinNT://localhost/Administrator,user"
$user.SetPassword("Tm8LgmjBTigXq8PYifGG@RGQaXoqzT")
$user.SetInfo()
</powershell>

Я буду использовать другой пароль для prod, но пока хотел убедиться, что отвечаю требованиям Windows к паролю.

Что касается того, какой AMI я использую, я начал с тривиальной сборки Packer на основе предоставленного Amazon Windows Server. 2012 R2 AMI. Все, что делает эта сборка Packer прямо сейчас, это добавляет каталог, а затем выводит созданный ею AMI ID. Затем я запускаю новый экземпляр из этого AMI.

Но когда я подключаюсь к экземпляру через RDP, я продолжаю получать ошибку The user name or password is incorrect. Try again..

Вот журналы из «Получить системный журнал» EC2:

2015/12/17 02:26:26Z: EC2ConfigMonitorState: 0
2015/12/17 02:26:27Z: Windows sysprep configuration complete.
2015/12/17 02:26:30Z: AMI Origin Version: 2015.10.26
2015/12/17 02:26:30Z: AMI Origin Name: Windows_Server-2012-R2_RTM-English-64Bit-Base
2015/12/17 02:26:30Z: OS: Microsoft Windows NT 6.3.9600
2015/12/17 02:26:30Z: OsVersion: 6.3
2015/12/17 02:26:30Z: OsProductName: Windows Server 2012 R2 Standard
2015/12/17 02:26:30Z: OsBuildLabEx: 9600.18066.amd64fre.winblue_ltsb.150928-1002
2015/12/17 02:26:30Z: Language: en-US
2015/12/17 02:26:30Z: EC2 Agent: Ec2Config service v3.10.442
2015/12/17 02:26:32Z: Message: Waiting for meta-data accessibility...
2015/12/17 02:26:32Z: Message: Meta-data is now available.
2015/12/17 02:26:35Z: AMI-ID: ami-0cd7c86d
2015/12/17 02:26:35Z: Instance-ID: i-9da97047
2015/12/17 02:26:40Z: Driver: AWS PV Network Device v7.3.2.0
2015/12/17 02:26:40Z: Driver: AWS PV Storage Host Adapter v7.3.2.0
2015/12/17 02:26:40Z: Ec2SetPassword: Disabled
2015/12/17 02:26:41Z: RDPCERTIFICATE-SUBJECTNAME: WIN-B5RLUMJ651G
2015/12/17 02:26:41Z: RDPCERTIFICATE-THUMBPRINT: A03F21FCE336140DA63828E3D61FB1274C6CF26E
2015/12/17 02:26:44Z: Message: Windows is Ready to use
2015/12/17 02:26:52Z: Info EC2Config configuration: status:3; region:us-west-2; iam:0; authz:0
2015/12/17 02:26:52Z: SSM Config: status:Inactive; iam:No; ErrorMessage:[[Unable to find credentials]]; RequestId:; ErrorCode:; ErrorType:Sender; StatusCode:0
Close

Хотелось бы получить советы от любых экспертов по Windows!

Обновление №1: я применил новый подход. Похоже, в AWS есть служба под названием EC2ConfigService, которую можно использовать чтобы включить генерацию пароля из пользовательских AMI. Используя Packer, я заменил файл C:\Program Files\Amazon\Ec2ConfigService\Settings\config.xml на тот, в котором параметр Ec2SetPassword равен Enabled, но, похоже, это по-прежнему не имеет значения. Я поищу в Интернете примеры изменения этого, чтобы посмотреть, смогу ли я их найти.


person Josh Padnick    schedule 17.12.2015    source источник


Ответы (1)


Хорошо, разобрался мой коллега. Теперь наш Packer Provider выглядит так:

"provisioners": [
        {
            "type": "powershell",
            "inline": [
                "# Enable the system password to be retrieved from the AWS Console after this AMI is built and used to launch code",
                "$ec2config = [xml] (get-content 'C:\\Program Files\\Amazon\\Ec2ConfigService\\Settings\\config.xml')",
                "($ec2config.ec2configurationsettings.plugins.plugin | where {$_.name -eq \"Ec2SetPassword\"}).state = \"Enabled\"",
                "$ec2config.save(\"C:\\Program Files\\Amazon\\Ec2ConfigService\\Settings\\config.xml\")"
            ]
        }
    ]

Я подтвердил, что это работает, как ожидалось. Packer создает AMI, настраивает то, что ему нужно, и как только экземпляр EC2 запускается из этого AMI, пароль сбрасывается, и можно получить пароль после того, как вы передадите свою пару ключей EC2.

person Josh Padnick    schedule 17.12.2015