התקן שפות בחלונות 10, בעזרת מסוף PowerShell

exprexs

Member
הפקודות הבאות מתקינות שפות ממשק ושפות משתמש.
הכל באנגלית כשפה ראשית.
עברית, שפת משתמש שנייה.


קוד:
Set-Culture -CultureInfo En-US
Set-WinUILanguageOverride En-US
Set-SystemPreferredUILanguage En-US
Set-WinSystemLocale -SystemLocale En-US
Set-WinDefaultInputMethodOverride -InputTip "0409:00000409"
Set-TimeZone -Id 'Israel Standard Time'
Set-WinHomeLocation -GeoId 117
#
Get-SystemPreferredUILanguage
Get-WinUILanguageOverride
Get-WinUserLanguageList
Get-WinSystemLocale
Get-Culture
Get-WinDefaultInputMethodOverride
Get-TimeZone
Get-InstalledLanguage
Get-WinHomeLocation
Get-Date
#
שפות המשתמש מוצגות כאן כ"מערך".
אם קיימות שפות משתמש אחרות, הן מוסרות.

קוד:
$LangList = @("En-US", "He-IL")
Set-WinUserLanguageList -LanguageList $LangList -Cf:$false -Force
Get-WinUserLanguageList | FL LanguageTag, EnglishName
#
הפקודות הבאות, מגדירות תבנית התאריך והשעה.
קוד:
# Set time & Date format
$ShortDate = "dd-MMM-yy"
$ShortTime = "HH:mm"
$LongTime = "HH:mm:ss"
#   
Set-ItemProperty -Path "HKCU:\Control Panel\International" -Name sShortDate -Value $ShortDate            #ShortDate
Set-ItemProperty -Path "HKCU:\Control Panel\International" -Name sShortTime -Value $ShortTime            #ShortTime
Set-ItemProperty -Path "HKCU:\Control Panel\International" -Name sTimeFormat -Value $LongTime            #LongTimeFormat
##
 
נערך לאחרונה ב:

exprexs

Member
הסר שפה בלתי רצויה, במסוף פאוארשל.

הדרך להסיר , כך.
בדוגמא, מדובר על גרמנית


קוד:
    # Remove one lang and leave all other intact
$Name = "German"
$OldLangList = Get-WinUserLanguageList
$LangToRemove = $OldLangList  | ? { $_.EnglishName -like $Name }
$NewLangList = $OldLangList | ? { $_.EnglishName -ne $LangToRemove.EnglishName }
Set-WinUserLanguageList -LanguageList $NewLangList -Cf:$false -Force
Get-WinUserLanguageList | FL LanguageTag, EnglishName
#

אפשר גם כך בתסריט מעט יותר מקוצר
קוד:
    # Remove one lang and leave all other intact
$Name = "German"
$OldLangList = Get-WinUserLanguageList
$NewLangList  = $OldLangList | ? { $_.EnglishName -notlike $Name }
Set-WinUserLanguageList -LanguageList $NewLangList -Cf:$false -Force
Get-WinUserLanguageList | FL LanguageTag, EnglishName
#
איפוס שפות
התסריט הבא מגדיר שפת משתמש אנגלית בלבד ( אנגלית ארה"ב )
ניתן להוסיף כל שפה אחרת דרך הממשק הגראפי

קוד:
    # Set User language list
$LangList = @("En-US")
Set-WinUserLanguageList -LanguageList $LangList -Cf:$false -Force
Get-WinUserLanguageList | FL LanguageTag, EnglishName
#
 
נערך לאחרונה ב:

exprexs

Member
הסר כל ערכת שפה, וכל פריסת מקלדת.
הגדר מקלדת לאנגלית בלבד ( ארה"ב ).
תסריט זה, מאפס את כל השפות המותקנות לאנגלית בלבד.
התסריט הבא, למעשה מאפס הכל לאנגלית בלבד.



קוד:
    #Reset all to English
Set-Culture -CultureInfo En-US
Set-WinUILanguageOverride En-US
Set-SystemPreferredUILanguage En-US
Set-WinSystemLocale -SystemLocale En-US
Set-WinDefaultInputMethodOverride -InputTip "0409:00000409"
#
    # Resetting to English only
$LangList = @("En-US")
Set-WinUserLanguageList -LanguageList $LangList -Cf:$false -Force
Get-WinUserLanguageList | FL LanguageTag, EnglishName
#
    # Remove all Lang Pack
$Packs = Get-InstalledLanguage
Foreach ($Pack in $Packs ) { UnInstall-Language -Language $Pack.LanguageId }
#
 
נערך לאחרונה ב:

exprexs

Member
אפשר גם כך, מבלי לחזור בכל פעם מחדש על התיוג "אנגלית".
כל שיש בעצם זה רק 2 משתנים.

קוד:
#Reset all to English
$LangTag = "En-US"
$InputTip = "0409:00000409"
#
    # Implement with proper commands
Set-Culture -CultureInfo $LangTag
Set-WinUILanguageOverride $LangTag
Set-SystemPreferredUILanguage $LangTag
Set-WinSystemLocale -SystemLocale $LangTag
Set-WinDefaultInputMethodOverride -InputTip $InputTip
#
    # Resetting to English only
Set-WinUserLanguageList -LanguageList $LangTag -Cf:$false -Force
#
    # Remove all Lang Pack
$Packs = Get-InstalledLanguage
Foreach ($Pack in $Packs ) { UnInstall-Language -Language $Pack.LanguageId }
#
 
נערך לאחרונה ב:

exprexs

Member
בעניין התאמת מקלדות , יתכן שאפשר גם כך

קוד:
    # Resetting to English only, In tags
$Lang1 = ""
$Lang2 = ""
$LangList = @($Lang1, $Lang2)
Set-WinUserLanguageList -LanguageList $LangList -Cf:$false -Force
Get-WinUserLanguageList | FL LanguageTag, EnglishName
#
 

exprexs

Member
מחיקת מקלדות נסתרות
התסריט הבא מסיר את ערכי הרישום האחראים למקלדות הנסתרות.
פקודות הפאוארשל האחרות, מבצעות רישום חוזר לכלל השפות המותקנות במחשב.


קוד:
    # Remove all entries in Targets
$RegistryTargets = @(
"Registry::HKU\.Default\Keyboard Layout\Preload"
"Registry::HKCU\Keyboard Layout\Preload"
)
Foreach ($RegistryTarget in $RegistryTargets) {
Test-Path -LiteralPath $RegistryTarget
Get-ItemProperty -Path $RegistryTarget
Remove-ItemProperty -Path $RegistryTarget -Name 1, 2, 3, 4, 5 -Force           
}
### End of Script ##
#Reset all to your lang of Choice
$LangTag = "En-US"
$InputTip = "0409:00000409"
#
    # Implement with proper commands
Set-Culture -CultureInfo $LangTag
Set-WinUILanguageOverride $LangTag
Set-SystemPreferredUILanguage $LangTag
Set-WinSystemLocale -SystemLocale $LangTag
Set-WinDefaultInputMethodOverride -InputTip $InputTip
Set-WinUserLanguageList -LanguageList $LangTag -Cf:$false -Force
#
 
למעלה