从自定义AMI启动与自动登录多个EC2 Windows服务器(Launching multiple

2019-09-16 19:39发布

救命!!!

我试图创建一个Windows AMI是启动时(需要多[20] Live服务器在短时间内推出短的持续时间)自动登录并运行.exe程序(可惜我不能得到应用作为服务运行)。 同时机器名必须是唯一的。

问题工作正常预Sysprep的,但是当我从AMI启动实例失败登录的机器名已明显从原来的机器影像切换。

我设法它的唯一方法是不Sysprep的,采取的朋友,那么启动时登录到新机并手动更改计算机名,并设置自动登录sysinternal工具。 作为最终用户不是技术和时间的限制不允许被有效地执行这个动作,这是不理想的。

我没办法! 非常感激你的帮助。

Answer 1:

我知道这是一个很古老的问题。 谷歌,然而,使我这个问题,当我面临着类似的问题。 我做了以下解决我的问题。

  • 自定义实例根据自己的喜好。 该AMI将使用该实例被创建。

    • 创建一个具有管理员权限的新用户帐户。 这是需要作为的Sysprep \ Ec2ConfigService将重设管理员密码。 这个用户添加到组Remote Desktop Users ,这样你就可以使用RDP该用户帐户。
  • 编辑EC2的Sysprep应答文件启用自动登录。

    • 追加以下至component命名节点Microsoft-Windows-Shell-Setup在文件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设置。

    • 在文件"C:\Program Files\Amazon\Ec2ConfigService\Settings\BundleConfig.xml"确保价值SetPasswordAfterSysprepYes
    • 在文件中, "C:\Program Files\Amazon\Ec2ConfigService\Settings\config.xml" ,确保state节点的值Enabled该插件Ec2SetPassword
    • 在文件中, "C:\Program Files\Amazon\Ec2ConfigService\Settings\config.xml" ,确保价值RemoveCredentialsfromSysprepOnStartupfalse
  • 您已经启动在登录一个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,推出任何情况下无限期地保留了自动登录的行为。



Answer 2:

不知道这个软件可以帮助,看LogonExpert及其satilite文章:

1) 部署 2) 条命令线路/ VBScript的控制 3)调度



文章来源: Launching multiple ec2 windows servers with auto logon from a custom AMI