Powershell命令用于获取运行Windows Server 2012的服务器上安装的所有语言包

时间:2015-09-14 09:31:09

标签: windows powershell

如何通过powershell命令找到我的服务器(Windows Server 2012)上安装的所有语言包? 我喜欢(通过脚本)识别我的服务所需的任何语言是否未安装,然后运行DISM以添加缺少的语言包。

3 个答案:

答案 0 :(得分:3)

您可以解析DISM输出:

$LangPacks = DISM.exe /Online /Get-Intl /English |
    Select-String -SimpleMatch 'Installed language(s)'|
        ForEach-Object {
            if($_ -match ':\s*(.*)'){$Matches[1]}
        }

if($LangPacks -notcontains 'ru-Ru'){
    Write-Host 'Language pack not installed!'
}

答案 1 :(得分:2)

您应该可以通过查询WMI来看到这一点, Win32_OperatingSystem 中的 MUILanguages 属性我相信会显示已安装的语言:

$OSInfo = Get-WmiObject -Class Win32_OperatingSystem
$languagePacks = $OSInfo.MUILanguages
$languagePacks

答案 2 :(得分:1)

(dism /online /Get-Intl)  | 
    ?{ $_.Contains("Installed language(s):") } | 
    %{ $_.Split(":")[1] }