Edizione di Windows su sistemi non inglesi


0

Sto provando a scrivere uno script PowerShell che filtri le azioni in base all'edizione di Windows (Professional, Enterprise, home, ecc.). posso usare Get-WmiObject Win32_OperatingSystem | Select-Object Caption, ma secondo Documentazione di MS , che "la stringa può essere localizzata".

Non ho sistemi Windows non in lingua inglese da controllare. Qualcuno può confermare se il confronto con una stringa di sottotitoli contenente "Enterprise" o "Home" è sufficiente per le altre installazioni di lingua?

Se è localizzato, come può essere determinata in generale l'edizione?

Grazie.


La stringa è effettivamente localizzata. Chi stai scrivendo esattamente questo script? Se si utilizza Windows 8 o versioni successive, è possibile modificare la lingua di sistema dell'installazione di qualsiasi versione di Windows 8+, ad eccezione della lingua singola. Dovresti usare OperatingSystemSKU e GetProductInfo anziché
Ramhound

Risposte:


0

Basato su questo post il problema è trovare una fonte definitiva. Il meglio che ho trovato è stato questa documentazione per sviluppatori che non è completo come la risposta nel primo collegamento suggerirebbe dovrebbe essere.

Tuttavia, il codice seguente restituirà il nome in lingua inglese "ufficiale" di Microsoft per l'edizione corrente in esecuzione di 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

Spero che questo aiuti qualcuno. Posso modificare il codice se qualcuno trova una migliore fonte online per la ricerca di SKU.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.