Запуск нескольких серверов Windows ec2 с автоматическим входом в систему из пользовательского AMI

Помощь!!!

Я пытаюсь создать Windows ami, который при запуске (необходимо, чтобы несколько [20] живых серверов запускались на короткие промежутки времени в короткие сроки) автоматически входил в систему и запускал приложение .exe (к сожалению, я не могу заставить приложение работать как служба ). Также имена машин должны быть уникальными.

Проблема работает нормально до sysprep, но когда я запускаю экземпляр из ami, он не может войти в систему, поскольку имя машины явно изменилось по сравнению с исходным образом машины.

Единственный способ, которым мне это удалось, - это не использовать sysprep, взять ami, затем войти в новую машину при запуске и вручную изменить имя машины и установить инструмент sysinternal для автоматического входа в систему. Это не идеально, поскольку конечный пользователь не является техническим специалистом, а временные ограничения не позволяют эффективно выполнять это действие.

Я в своем уме! Ваша помощь очень ценится.


person JonLovett    schedule 27.04.2012    source источник


Ответы (2)


Я знаю, что это очень старый вопрос. Тем не менее, Google привел меня к этому вопросу, когда я столкнулся с аналогичной проблемой. Я сделал следующее, чтобы решить мою проблему.

  • Настройте экземпляр по своему вкусу. AMI будет создан с использованием этого экземпляра.

    • Create a new user account with admin privileges. This is needed as Sysprep\Ec2ConfigService will reset the Administrator password. Add this user to the group Remote Desktop Users, so you can RDP using this user account.
  • Отредактируйте файл ответов Sysprep EC2, чтобы включить автоматический вход в систему.

    • Append the following to component node named Microsoft-Windows-Shell-Setup in the file C:\Program Files\Amazon\Ec2ConfigService\sysprep2008.xml

.

<AutoLogon>
  <Password>
    <Value>NewUser'sPassword</Value>
    <PlainText>true</PlainText>
  </Password>
  <Username>NewUser'sName</Username>
  <Enabled>true</Enabled>
  <LogonCount>999</LogonCount>
</AutoLogon>

Полученный файл должен выглядеть так, как показано ниже. Я удалил части, которые не нужны для этого ответа.

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
  <settings pass="oobeSystem">
    <!-- snip -->
    <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <!-- snip -->    
        <AutoLogon>
          <Password>
            <Value>NewUser'sPassword</Value>
            <PlainText>true</PlainText>
          </Password>
          <Username>NewUser'sName</Username>
          <Enabled>true</Enabled>
          <LogonCount>999</LogonCount>
        </AutoLogon>
    </component>
  </settings>
  <!-- snip -->
</unattend>
  • Далее мы редактируем настройки EC2ConfigService.

    • In the file "C:\Program Files\Amazon\Ec2ConfigService\Settings\BundleConfig.xml", ensure the value for SetPasswordAfterSysprep is Yes.
    • В файле "C:\Program Files\Amazon\Ec2ConfigService\Settings\config.xml" убедитесь, что узел state имеет значение Enabled для подключаемого модуля Ec2SetPassword.
    • В файле "C:\Program Files\Amazon\Ec2ConfigService\Settings\config.xml" убедитесь, что значение RemoveCredentialsfromSysprepOnStartup равно false.
  • Вы уже запускаете exe при входе в систему. Используя тот же механизм, также запустите сценарий, который удалит параметр AutoLogonCount из реестра. Этот шаг важен, иначе после 999 (как в приведенном выше примере) входов в систему автоматический вход прекратится.

.

powershell.exe  -command { Remove-ItemProperty -Path "HKLM:\Software\Microsoft\Windows NT\CurrentVersion\winlogon"  -Name AutoLogonCount -Force -ErrorAction 0 }
  • Теперь мы можем запустить Sysprep. Либо используйте пользовательский интерфейс, либо следующую команду.

.

%ProgramFiles%\Amazon\Ec2ConfigService\ec2config.exe -sysprep

Любой экземпляр, запущенный с использованием AMI, созданного из указанного выше экземпляра, сохраняет поведение автоматического входа в систему на неопределенный срок.

person Amith George    schedule 31.10.2013

Не знаю, может ли это программное обеспечение помочь, посмотрите LogonExpert и его сатилитные статьи:

1) Развертывание 2) Управление командной строкой/vbscript 3) Планирование

person Taho Cannan    schedule 10.05.2012