Come ottenere la versione di Windows in PowerShell

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

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:

trova la versione di Windows in Powershell - output 1

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:

trova versione di windows in powershell - output 2

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:

trova versione di Windows in powershell - output 3

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:

trova versione di Windows in powershell - output 4

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:

trova versione di windows in powershell - output 5

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.

Ti piacciono i nostri tutorial? Iscriviti a DelftStack su YouTube per aiutarci a creare altre guide video di alta qualità. Iscriviti
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn