Come ottenere la versione di Windows in PowerShell
-
Utilizzare la classe
[System.Environment]
in PowerShell per ottenere la versione di Windows -
Utilizzare il cmdlet
Get-ComputerInfo
in PowerShell per ottenere la versione di Windows -
Utilizzare la classe WMI con il cmdlet
Get-WMIObject
in PowerShell per ottenere la versione di Windows -
Utilizzare il comando legacy
systeminfo
in PowerShell per ottenere la versione di Windows -
Utilizzare il comando legacy
Get-CimInstance
in PowerShell per ottenere la versione di Windows - Conclusione

Il modo più veloce per scoprire quale sistema operativo Windows ha il tuo computer è utilizzare il comando winver
. In Windows PowerShell, ci sono più modi per ottenere la versione del sistema operativo Windows, e discuteremo di essi qui in questo articolo.
Esistono vari metodi per raggiungere questo obiettivo, ciascuno con i propri vantaggi e casi d’uso. In questo articolo esploreremo cinque approcci diversi per ottenere la versione di Windows in PowerShell.
Ogni metodo offre informazioni uniche sull’ambiente Windows, fornendo a amministratori e scripter strumenti versatili per raccogliere informazioni essenziali sul sistema.
Utilizzare la classe [System.Environment]
in PowerShell per ottenere la versione di Windows
In PowerShell, puoi recuperare informazioni dettagliate sulla versione di Windows utilizzando il metodo [Environment]::OSVersion.Version
. Questo metodo accede alla proprietà statica Version
della proprietà OSVersion
nella classe Environment
, fornendo un modo semplice per accedere alla versione del sistema operativo.
Codice di esempio:
[System.Environment]::OSVersion.Version
Quando utilizziamo [Environment]::OSVersion.Version
, stiamo accedendo alla proprietà OSVersion
della classe Environment
, che fornisce informazioni sull’ambiente del sistema operativo. In particolare, stiamo recuperando la proprietà Version
di questo oggetto, che contiene dettagli sulla versione di Windows.
Questo metodo restituisce un oggetto System.Version
, che rappresenta la versione del sistema operativo come una combinazione di numeri di versione maggiori e minori. Accedendo alle proprietà Major
e Minor
di questo oggetto, possiamo estrarre questi numeri di versione e usarli secondo necessità nel nostro script PowerShell.
Output:
Possiamo fare riferimento al documento ufficiale di Microsoft per confrontare la versione attuale del sistema operativo Windows che stai attualmente eseguendo.
Tuttavia, questo non mostrerà la versione corretta se stai utilizzando il più recente sistema operativo, come Windows 11 o Windows Server 2019, poiché mostrerà comunque una build maggiore 10, che rappresenta Windows 10 e Windows Server 2016. Pertanto, il comando sopra mostrerà valori appropriati solo se stai eseguendo Windows 10 e Windows Server 2016 o versioni precedenti.
Utilizzare il cmdlet Get-ComputerInfo
in PowerShell per ottenere la versione di Windows
In PowerShell, puoi facilmente recuperare informazioni dettagliate sul sistema operativo Windows utilizzando il cmdlet Get-ComputerInfo
. Questo cmdlet raccoglie informazioni sul sistema del computer locale, inclusi il nome del sistema operativo, la versione e il livello di astrazione hardware (HAL).
Codice di esempio:
Get-ComputerInfo | Select-Object OSName, OSVersion, OsHardwareAbstractionLayer
Quando utilizziamo il cmdlet Get-ComputerInfo
, seguito dal piping a Select-Object
, stiamo recuperando informazioni complete sul sistema del computer locale. Specificando le proprietà OSName
, OSVersion
e OsHardwareAbstractionLayer
, stiamo selezionando dettagli specifici sul sistema operativo, come il suo nome, la versione e il livello di astrazione hardware (HAL).
Questo metodo ci consente di raccogliere informazioni dettagliate sull’ambiente Windows, che possono essere utili per varie attività amministrative, risoluzione dei problemi o scopi di scripting. Accedendo e visualizzando queste proprietà, otteniamo informazioni sulla configurazione e sulle specifiche del sistema Windows, che aiutano nella gestione e manutenzione del sistema.
Output:
Utilizzare la classe WMI con il cmdlet Get-WMIObject
in PowerShell per ottenere la versione di Windows
Possiamo anche utilizzare la classe Windows Management Instrumentation (WMI) per controllare l’attuale versione del sistema operativo.
Codice di esempio:
(Get-WmiObject -class Win32_OperatingSystem).Caption
Quando eseguiamo (Get-WmiObject -class Win32_OperatingSystem).Caption
, stiamo utilizzando il cmdlet Get-WmiObject
per interrogare Windows Management Instrumentation (WMI) per informazioni sul sistema operativo. In particolare, stiamo mirando alla classe Win32_OperatingSystem
, che contiene dettagli sul sistema operativo.
Accedendo alla proprietà .Caption
dell’oggetto risultante, stiamo recuperando il nome del sistema operativo. Questo metodo offre un modo semplice per ottenere le informazioni sulla versione di Windows direttamente attraverso PowerShell, rendendolo comodo per varie attività di scripting e amministrative.
Output:
A differenza della classe [System.Environment]
e del cmdlet Get-ComputerInfo
, l’oggetto WMI visualizza correttamente la versione del sistema operativo Windows se stai utilizzando l’ultima versione.
Utilizzare il comando legacy systeminfo
in PowerShell per ottenere la versione di Windows
Possiamo anche utilizzare il comando legacy systeminfo
con i wrapper dei cmdlet di Windows PowerShell per emettere la versione dettagliata del sistema operativo. Combinando systeminfo
con i cmdlet di PowerShell, puoi estrarre informazioni specifiche sulla versione di Windows.
systeminfo /fo csv | ConvertFrom-Csv | select OS*, System*, Hotfix* | Format-List
Quando eseguiamo il comando systeminfo /fo csv
, stiamo utilizzando lo strumento da riga di comando systeminfo
per raccogliere informazioni dettagliate sul sistema in formato CSV.
Poi, usiamo ConvertFrom-Csv
per convertire l’output formattato in CSV in oggetti PowerShell. Piping il risultato in Select
, filtriamo le proprietà di nostro interesse, specificamente quelle che iniziano con OS
, System
e Hotfix
.
Infine, applichiamo Format-List
per presentare le informazioni in una vista a elenco formattato.
Output:
Utilizzare il comando legacy Get-CimInstance
in PowerShell per ottenere la versione di Windows
Questo cmdlet fa parte dell’infrastruttura del Common Information Model (CIM) in PowerShell, consentendoti di interrogare informazioni di sistema in modo standardizzato. Mirando alla classe Win32_OperatingSystem
, puoi accedere a proprietà come il nome e la versione del sistema operativo.
(Get-CimInstance Win32_OperatingSystem) | Select-Object Caption, Version
Quando eseguiamo (Get-CimInstance Win32_OperatingSystem) | Select-Object Caption, Version
, stiamo utilizzando il cmdlet Get-CimInstance
per recuperare informazioni sul sistema operativo Windows dalla classe Win32_OperatingSystem
. Questa classe rappresenta varie proprietà del sistema operativo. Piping il risultato in Select-Object
, specifichiamo le proprietà di nostro interesse, che sono Caption
(che rappresenta il nome del sistema operativo) e Version
.
Output:
Conclusione
In PowerShell, ottenere la versione di Windows è essenziale per attività di amministrazione del sistema e scripting. Abbiamo esplorato cinque diversi metodi per raggiungere questo obiettivo: utilizzando la classe [System.Environment]
, il cmdlet Get-ComputerInfo
, il cmdlet Get-WmiObject
, il comando systeminfo
e il cmdlet Get-CimInstance
.
Ogni approccio offre vantaggi distinti e può essere preferito a seconda delle specifiche esigenze e scenari. Che si tratti di accedere direttamente alla versione tramite la classe [System.Environment]
o di interrogare informazioni dettagliate sul sistema utilizzando Get-ComputerInfo
o Get-CimInstance
, PowerShell fornisce strumenti robusti per gestire e monitorare efficacemente gli ambienti Windows.
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn