本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 Windows 執行個體設定 EC2Launch v1 代理程式
在您的執行個體第一次初始化後,您可以設定 EC2Launch 再次執行並執行其他啟動任務。
設定初始化任務
在 LaunchConfig.json
檔案中指定設定以啟用或停用下列初始化任務:
-
將電腦名稱設定為執行個體私有 IPv4 地址。
-
將監視器設定為永遠保持開啟狀態。
-
設定新的桌面。
-
新增 DNS 尾碼清單。
注意
這會新增下列網域的 DNS 尾碼查詢,並設定其他標準尾碼。如需啟動代理程式如何設定 DNS 尾碼的詳細資訊,請參閱 設定 EC2 Windows 啟動代理程式的 DNS 尾碼。
region
.ec2-utilities.amazonaws.com -
擴充開機磁碟區大小。
-
設定管理員密碼。
進行初始化設定
-
在要設定的執行個體上,於文字編輯器中開啟下列檔案:
C:\ProgramData\Amazon\EC2-Windows\Launch\Config\LaunchConfig.json
。 -
視需要更新下列設定並儲存變更。只有在
adminPassword
是adminPasswordtype
時,才要在Specify
中提供密碼。{ "setComputerName": false, "setMonitorAlwaysOn": true, "setWallpaper": true, "addDnsSuffixList": true, "extendBootVolumeSize": true, "handleUserData": true, "adminPasswordType": "Random | Specify | DoNothing", "adminPassword": "password that adheres to your security policy (optional)" }
密碼類型的定義如下:
Random
-
EC2Launch 會產生密碼並以使用者金鑰將其加密。系統會在執行個體啟動後停用此設定,以便執行個體重新開機或停止再啟動時,能持續使用這個密碼。
Specify
-
EC2Launch 會使用您在
adminPassword
中指定的密碼。如果該密碼不符合系統要求,EC2Launch 會改為產生隨機密碼。系統會將該密碼以純文字存放於LaunchConfig.json
,並在 Sysprep 設定管理員密碼後予以刪除。EC2Launch 會以使用者金鑰加密該密碼。 DoNothing
-
EC2Launch 會使用您在
unattend.xml
檔案中指定的密碼。如果您未在unattend.xml
中指定密碼,會停用管理員帳戶。
-
在 Windows PowerShell 中,執行下列命令以排程指令碼做為 Windows 排程任務執行。該指令碼會在下一次開機期間執行一次,然後停用這些任務,以避免再次執行。
C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1 -Schedule
排程 EC2Launch 在每次開機時都執行
您可排程 EC2Launch 在每次開機時都執行,不是只在初次開機時執行。
啟用 EC2Launch 在每次開機時都執行
開啟 Windows PowerShell 並執行下列命令:
C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1 -SchedulePerBoot
或使用下列命令執行可執行檔:
C:\ProgramData\Amazon\EC2-Windows\Launch\Settings\Ec2LaunchSettings.exe
然後選取
Run EC2Launch on every boot
。您可指定 EC2 執行個體Shutdown without Sysprep
或Shutdown with Sysprep
。
注意
當您啟用 EC2Launch 以便在每次開機時執行時,下次 EC2Launch 執行時會發生下列情況:
-
如果
AdminPasswordType
仍然設定為Random
,EC2Launch 將在下次開機時產生新密碼。開機之後,AdminPasswordType
會自動設定為DoNothing
,以防止 EC2Launch 在後續開機時產生新密碼。若要防止 EC2Launch 在第一次開機時產生新密碼,請手動將AdminPasswordType
設定為DoNothing
,然後再重新開機。 -
HandleUserData
會設回false
,除非使用者資料將persist
設成true
。如需詳細資訊,請參閱使用者資料指令碼。
初始化磁碟機和映射磁碟機代號
在 DriveLetterMappingConfig.json
檔案中指定設定,以將磁碟機代號映射到您的 EC2 執行個體上的磁碟區。指令碼會初始化尚未初始化和分割的磁碟機。如需有關在 Windows 中取得磁碟區詳細資訊的更多詳細資訊,請參閱 Microsoft 文件中的 Get-Volume
將磁碟機代號映射到磁碟區
-
在文字編輯器中開啟
C:\ProgramData\Amazon\EC2-Windows\Launch\Config\DriveLetterMappingConfig.json
檔案。 -
指定下列磁碟區設定並儲存您的變更:
{ "driveLetterMapping": [ { "volumeName": "
sample volume
", "driveLetter": "H
" } ] } -
開啟 Windows PowerShell,並使用下列命令執行初始化磁碟的 EC2Launch 指令碼:
C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeDisks.ps1
若要在每次執行個體開機時初始化磁碟,請新增
-Schedule
標記,如下所示:C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeDisks.ps1 -Schedule
傳送 Windows 事件日誌到 EC2 主控台。
在 EventLogConfig.json
檔案中指定設定,以傳送 Windows 事件日誌到 EC2 主控台日誌。
進行設定以傳送 Windows 事件日誌
-
在執行個體上,於文字編輯器中開啟
C:\ProgramData\Amazon\EC2-Windows\Launch\Config\EventLogConfig.json
檔案。 -
進行下列日誌設定並儲存您的變更:
{ "events": [ { "logName": "
System
", "source": "An event source (optional)
", "level": "Error | Warning | Information
", "numEntries":3
} ] } -
在 Windows PowerShell 中執行下列命令,讓系統排程指令碼在每次執行個體開機時做為 Windows 排程任務執行。
C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\SendEventLogs.ps1 -Schedule
日誌可能要花費三分鐘 (含) 以上才會顯示在 EC2 主控台日誌中。
在成功開機後傳送「Windows 已就緒」訊息
EC2Config 服務會在每次開機後,傳送「Windows 已就緒」訊息到 EC2 主控台。EC2Launch 只會在初次開機後傳送這個訊息。若要與 EC2Config 服務回溯相容,您可以排程 EC2Launch 在每次開機後傳送這個訊息。在執行個體上,開啟 Windows PowerShell 並執行下列命令。系統會排程指令碼做為 Windows 排程任務執行。
C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\SendWindowsIsReady.ps1 -Schedule