Function Set-SystemForNextRun {
Param (
[string]$CodeSectionComplete,
[switch]$UserDataReset,
[switch]$RestartInstance
)
If ($CodeSectionComplete) {
[System.Void](New-ItemProperty -Path 'HKLM:\SOFTWARE\NILabVIEWDis' -Name "CodeSection$CodeSectionComplete" -Value 'Complete')
} # End If.
If ($UserDataReset) {
try {
$Path = 'C:\Program Files\Amazon\Ec2ConfigService\Settings\config.xml'
[xml]$ConfigXml = Get-Content -Path $Path -ErrorAction Stop
($ConfigXml.Ec2ConfigurationSettings.Plugins.Plugin |
Where-Object -Property Name -eq 'Ec2HandleUserData').State = 'Enabled'
$ConfigXml.Save($Path)
} catch {
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1 -Schedule
} # End try-catch.
} # End If.
If ($RestartInstance) {
Restart-Computer -Force
} # End If.
} # End Function: Set-SystemForNextRun.
IAM Role.