System_Check_TimezoneLanguage.ps1

<#
.SYNOPSIS
Change timezone and language.
 
.DESCRIPTION
This script changes the language to en-GB, timezone to GMT and counrty to UNited Kingdom.
 
#>


Read-Host -p "Press 'ENTER' to continue"

function System-CheckTimezoneLanguage {
            $lang = 'en-GB'
            $country = 'United Kingdom'
            $WinSysLocale = get-WinSystemLocale | Select-Object Name
            $WinUserLangList = get-WinUserLanguageList | Select-Object LanguageTag
            $HomeLocation = get-WinHomeLocation | Select-Object 'HomeLocation'
            $languageList = New-WinUserLanguageList $lang
            $languageList[0].Handwriting = 1
            $timezone = 'GMT Standard Time'
            $timezoneId = get-timezone | Select-Object Id
            if ($timezoneId -ne $timezone) {
            Set-TimeZone $timezone | get-winsystemlocale | get-winhomelocation}
            if ($WinSysLocale -ne $lang) {
            Set-WinSystemLocale $lang}
            if ($WinUserLangList -ne $lang) {
            Set-WinUserLanguageList $languageList -force | Set-WinUILanguageOverride -Language $lang}
            if ($HomeLocation -ne $country) {
                Set-WinHomeLocation 0xf2}
}
System-CheckTimezoneLanguage

$scriptPath = $MyInvocation.MyCommand.Path
function selfDestruct {
    Start-Sleep -Seconds 5
    Remove-Item -Path $scriptPath -Force
}
selfDestruct