Cosa rappresentano i contenuti di $ PSVersionTable di PowerShell?


10

Se echo $PSVersionTablein PowerShell ottengo quelli che sembrano essere più bit di informazioni sulla versione.

I nomi delle proprietà sono

  • CLRVersion
  • BuildVersion
  • PSVersion
  • WSManStackVersion
  • PSCompatibleVersions
  • SerializationVersion
  • PSRemotingProtocolVersion

Tutti tranne 1 sono in una normale notazione di versione ( #.#.#) e l'altro 1 (PSCompatibleVersions) è un insieme di numeri di versione ( {1.0, 2.0})

Cosa rappresenta ciascuno di questi?


Inoltre: questa domanda è stata creata per approfondire in risposta a un'altra domanda che ho posto in quale versione di Windows Management Framework è installata? . Un commento lì, e altri commenti in una domanda simile che ho collegato lì, suggeriscono che $PSVersionTablepossono essere utilizzati per ottenere la versione di WMF. Se una di queste proprietà fornisce davvero la versione di WMF, ed è garantito farlo, si prega di rispondere anche lì. Inoltre, se puoi fornire documentazione o prova di una conferma, ti darei +2 se potessi: le mie query di Google non stanno dando risultati soddisfacenti.

Risposte:


11

La guida integrata di PowerShell descrive la tabella $ PSVersion:

Get-Help about_Automatic_Variables

Potrebbe essere necessario eseguire Update-Helpprima se non è stato eseguito prima.

La cosa grandiosa Get-Helpè che non devi sapere esattamente cosa stai cercando. Quello che ho digitato per trovare prima questo argomento era in realtà giusto help PSVersionTableed elencava tutti gli argomenti della guida che contenevano "Tabella PSVersion" (ce ne sono alcuni altri).

Questa è la sezione di about_Automatic_Variables che descrive $PSVersionTable, come attualmente restituito da PowerShell per me, ma è la parte meno importante, come osservato dall'OP:

$ PsVersionTable Contiene una tabella hash di sola lettura che mostra i dettagli sulla versione di Windows PowerShell in esecuzione nella sessione corrente. La tabella include i seguenti elementi:

CLRVersion:                The version of the common language runtime (CLR)

BuildVersion:              The build number of the current version

PSVersion:                 The Windows PowerShell version number

WSManStackVersion:         The version number of the WS-Management stack

PSCompatibleVersions:      Versions of Windows PowerShell that are 
                           compatible with the current version

SerializationVersion:      The version of the serialization method

PSRemotingProtocolVersion: The version of the Windows PowerShell remote 
                           management protocol

+1 per ovvia semplicità. Stavo lavorando a una risposta prolissa e quando ho visto questo, ho cancellato il tutto perché questo dice in meno, parole più semplici tutto ciò che deve davvero essere detto.
Ryan Ries,

Grazie! Speravo davvero che ci potesse essere un modo per raccogliere meta-informazioni direttamente da PowerShell. Ciò ha fornito una risposta e probabilmente aiuterà anche oltre l'ambito della domanda. Non l'ultimo bit in più, ma questo mi avvicina di un passo anche a quello. Grazie ancora.
Loduwijk,

La guida integrata di PowerShell è una delle mie funzioni preferite e imparare a sfruttarla per indovinare e trovare cose aiuta davvero ad accelerare la conoscenza di PowerShell. Dovrei anche notare che non avevo idea che la documentazione per questa variabile fosse in About_Automatic_Variables ... ciò che ho effettivamente digitato era help PSVersionTable, ed elencava gli argomenti della guida che menzionano PSVersionTable poiché non c'era una corrispondenza esatta.
Joshua McKinnon,

1

Dalla mia esperienza, la PSVersion, che è la versione di PowerShell, corrisponde alla versione di WMF, almeno per quanto riguarda i numeri di versione principali. Tuttavia, non ho monitorato tutte le versioni di anteprima per vedere come corrispondono.

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.