diff --git a/scripts/Windows/OS/Setup.ps1 b/scripts/Windows/OS/Setup.ps1 new file mode 100644 index 00000000..26c5dff6 --- /dev/null +++ b/scripts/Windows/OS/Setup.ps1 @@ -0,0 +1,33 @@ +foreach ($module in @("PSWindowsUpdate")) +{ + if (-not (Get-Module $module)) + { + Install-Module -AcceptLicense -Force "$module"; + } +} + +Import-Module PSWindowsUpdate; +Import-Module ScheduledTasks; + +$installerPath = "$PSScriptRoot/Manage.ps1"; +$setupPath = "$($MyInvocation.MyCommand.Path)"; + +Install-WindowsUpdate -AcceptAll -IgnoreReboot; + +if ((Get-WindowsUpdate).Count -gt 0) +{ + $nextScript = "$setupPath"; +} +else +{ + $nextScript = "$installerPath"; +} + +if ((Get-WURebootStatus).RebootRequired) +{ + New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\RunOnce" -Name "PortValhalla" -Value "pwsh `"$nextScript`"" -PropertyType ExpandString; +} +else +{ + . "$nextScript"; +}