本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在您的 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用在每次開機時執行:
開啟視窗 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避免在第一次開機時產生新密碼,請在重新開機DoNothing
之前手動設定AdminPasswordType
為。 -
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服務都會向EC2控制台發送「Windows 已準備就緒」消息。EC2Launch僅在初始啟動後發送此消息。為了與EC2Config服務的向後兼容性,您可EC2Launch以安排在每次啟動後發送此消息。在執行個體上,開啟 Windows PowerShell 並執行下列命令。系統會排程指令碼做為 Windows 排程任務執行。
C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\SendWindowsIsReady.ps1 -Schedule