¿Qué representan los contenidos de $ PSVersionTable de PowerShell?


10

Si echo $PSVersionTableen PowerShell, obtengo lo que parecen ser múltiples bits de información de versión.

Los nombres de las propiedades son

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

Todos excepto 1 están en una notación de versión normal ( #.#.#), y el otro 1 de ellos (PSCompatibleVersions) es un conjunto de números de versión ( {1.0, 2.0})

¿Qué representa cada uno de estos?


Además: esta pregunta se creó para profundizar en respuesta a otra pregunta que hice en ¿Qué versión de Windows Management Framework está instalada? . Un comentario allí, y otros comentarios en una pregunta similar que vinculé allí, sugieren que $PSVersionTablese puede usar para obtener la versión de WMF. Si una de estas propiedades realmente proporciona la versión WMF, y está garantizado, por supuesto, responda allí también. Además, si puede proporcionar cualquier documentación o evidencia de una confirmación, le daría +2 si pudiera: mis consultas de Google no están produciendo nada satisfactorio.

Respuestas:


11

La ayuda incorporada de PowerShell describe $ PSVersionTable:

Get-Help about_Automatic_Variables

Es posible que deba ejecutar Update-Helpprimero si no lo ha ejecutado antes.

Lo bueno de esto Get-Helpes que no tienes que saber exactamente lo que estás buscando. Lo que escribí para encontrar este tema primero fue en realidad justo help PSVersionTable, y enumeró todos los temas de ayuda que contenían "PSVersionTable" (hay algunos otros).

Esta es la sección de about_Automatic_Variables que describe $PSVersionTable, tal como lo devolvió actualmente PowerShell para mí, pero es la parte menos importante, como señaló el OP:

$ PsVersionTable Contiene una tabla hash de solo lectura que muestra detalles sobre la versión de Windows PowerShell que se ejecuta en la sesión actual. La tabla incluye los siguientes elementos:

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 para simplicidad obvia. Estaba trabajando en una respuesta de largo aliento y cuando vi esto, borré todo porque esto dice en menos palabras y más simples todo lo que realmente hay que decir.
— Ryan Ries

¡Gracias! Realmente esperaba que pudiera haber alguna forma de recopilar metainformación directamente desde PowerShell. Esto proporcionó una respuesta y probablemente ayudará incluso más allá del alcance de la pregunta. No es el último bit adicional, pero esto también me acerca un paso más. Gracias de nuevo.
— Loduwijk

La ayuda integrada de PowerShell es una de mis características favoritas, y aprender a aprovecharla para adivinar y encontrar cosas realmente ayuda a acelerar el conocimiento de PowerShell. También debo tener en cuenta que no tenía idea de que la documentación para esta variable estaba en About_Automatic_Variables ... lo que realmente escribí fue help PSVersionTable, y enumeró los temas de ayuda que mencionan PSVersionTable ya que no había una coincidencia exacta.
— Joshua McKinnon

1

Desde mi experiencia, la PSVersion, que es la versión de PowerShell, coincide con la versión de WMF, al menos en lo que respecta a los números de versión principales. Sin embargo, no he rastreado todas las versiones preliminares para ver cómo coinciden.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.