2015-12-17 86 views
1

我想在AWS EC2用戶數據中設置Windows Server 2012 R2管理員密碼,但是我正在做的事情無法正常工作。在EC2用戶數據中設置Windows服務器密碼

我與對用戶數據的以下值啓動實例:

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

我會爲督促使用不同的密碼,但希望確保我符合Windows密碼需求現在。根據亞馬遜提供的Windows Server 2012 R2 AMI,我開始使用一個微不足道的Packer構建。 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的設置,但它似乎仍然沒有什麼區別。我會尋找在線的例子來改變這個,看看我能否找到任何。

回答

3

好的,我的同事弄明白了。我們的Packer配置器現在看起來像這樣:

"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,配置它想要的內容,並且一旦從該AMI啓動EC2實例,密碼將被重置,並且一旦您通過EC2密鑰對就可以獲取密碼。

相關問題