第一次启动EC2时,将运行用户数据脚本。
如何在Windows EC2上恢复/重新激活此功能?
我已经尝试过建议使用脚本here的脚本,但是由于没有文件C:\Program Files\Amazon\Ec2ConfigService\Settings\Config.xml
并且没有类似的名称(我找不到,甚至没有Ec2ConfigService
目录),脚本也立即失败了>
还请注意,我的问题与this问题相同,但对于Windows ec2,不是Linux
答案 0 :(得分:0)
我了解关键在于仅运行用户数据,而不是其他所有内容...
要运行(仅)用户数据脚本,可以通过以下方式运行它:
Import-Module (Join-Path (Join-Path $env:ProgramData -ChildPath "Amazon\EC2-Windows\Launch") -ChildPath "Module\Ec2Launch.psd1")
Invoke-Userdata -OnlyExecute
假设您将其保存为“ C:\ ProgramData \ Amazon \ EC2-Windows \ Launch \ Config \ run-user-data.ps1”,然后可以使用PowerShell安排新任务在启动时运行: / p>
$Action = New-ScheduledTaskAction -Execute 'Powershell.exe' -Argument '-ExecutionPolicy Bypass C:\ProgramData\Amazon\EC2-Windows\Launch\Config\run-user-data.ps1'
$Trigger = New-ScheduledTaskTrigger -AtStartup
$Settings = New-ScheduledTaskSettingsSet
$Task = New-ScheduledTask -Action $Action -Trigger $Trigger -Settings $Settings
Register-ScheduledTask -TaskName 'Execute user-data' -InputObject $Task -User 'NT AUTHORITY\SYSTEM' -Force
我通过在“ AWS :: CloudFormation :: Init”部分上创建提及的文件和命令来使用这种解决方案。
希望有帮助!