Выпуск Windows на неанглийских системах

299
Teknowledgist

Я пытаюсь написать сценарий PowerShell, который фильтрует действия на основе выпуска Windows (Professional, Enterprise, home и т. Д.). Я могу использовать Get-WmiObject Win32_OperatingSystem | Select-Object Caption, но согласно документации MS, эту «строку можно локализовать».

У меня нет систем не на английском языке для Windows. Кто-нибудь может подтвердить, достаточно ли сравнения со строкой заголовка, содержащей «Enterprise» или «Home», для других языковых установок?

Если оно локализовано, как вообще можно определить издание?

Благодарю.

0
Строка действительно локализована. Для кого именно вы пишете этот сценарий? Если вы используете Windows 8+, вы можете изменить язык системы установки любой версии Windows 8+, кроме Single Language. Вы должны использовать `OperatingSystemSKU` и` GetProductInfo` Ramhound 5 лет назад 0

1 ответ на вопрос

0
Teknowledgist

Основываясь на этом посте, проблема заключается в поиске окончательного источника. Лучшее, что я смог найти, была эта документация для разработчиков, которая не настолько полная, как можно было бы предположить в ответе по первой ссылке.

Тем не менее, следующий код возвратит «официальное» имя Microsoft на английском языке для текущей работающей версии Windows:

$page = Invoke-WebRequest -uri 'https://msdn.microsoft.com/en-us/library/ms724358.aspx'  $TableText = ($page.AllElements |  Where-Object {$_.tagname -eq 'tbody' -and $_.innertext -like 'valuemeaning*'} | Select-Object -ExpandProperty innertext) -split "`r`n"  $CSV = $TableText | Where-Object {$_ -match '^0x0.*'} |  ForEach-Object {$_ -replace "^(0x0[0-9A-F]+) ",'$1,'} | ForEach-Object {"$([convert]::ToInt16($_.split(',')[0],16))" + ',' + $_.split(',')[-1]}  $Editions = ConvertFrom-Csv $CSV -Header 'SKU','Name'  $ThisOS = (Get-WmiObject Win32_OperatingSystem).operatingsystemsku  $Editions | Where-Object {$_.SKU -eq $ThisOS} |Select-Object -ExpandProperty Name 

Надеюсь, это кому-нибудь поможет. Я могу изменить код, если кто-то найдет лучший онлайн-источник для поиска SKU.