O que o conteúdo da $ PSVersionTable do PowerShell representa?

8

Se eu echo $PSVersionTable no PowerShell, recebo o que parece ser vários bits de informações de versão.

O nome das propriedades é

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

Todos, exceto 1, estão em uma notação de versão normal ( #.#.# ) e o outro 1 deles (PSCompatibleVersions) é um conjunto de números de versão ( {1.0, 2.0} )

O que cada um deles representa?

Além disso: essa pergunta foi criada para me aprofundar em resposta a outra pergunta que fiz em Que versão do Windows Management Framework está instalada? . Um comentário lá e outros comentários em uma pergunta semelhante à qual eu fiz link sugerem que $PSVersionTable pode ser usado para obter a versão do WMF. Se uma dessas propriedades realmente der à versão do WMF e for garantida, por favor, responda também. Além disso, se você puder fornecer qualquer documentação ou evidência de uma confirmação, eu daria +2 se pudesse: minhas consultas do Google não estão gerando nada de satisfatório.

    
por Loduwijk 10.09.2014 / 21:20

2 respostas

9

A ajuda integrada do PowerShell descreve $ PSVersionTable:

Get-Help about_Automatic_Variables

Pode ser necessário executar Update-Help primeiro se você não tiver executado antes.

O que é ótimo sobre Get-Help é que você não precisa saber exatamente o que está procurando. O que eu digitei para encontrar este tópico primeiro foi, na verdade, apenas help PSVersionTable , e ele listou todos os tópicos de ajuda que continham "PSVersionTable" (há alguns outros).

Esta é a seção de about_Automatic_Variables que descreve $PSVersionTable , como atualmente retornado pelo PowerShell para mim, mas é a parte menos importante, conforme o OP observou:

$PsVersionTable Contains a read-only hash table that displays details about the version of Windows PowerShell that is running in the current session. The table includes the following items:

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
    
por 10.09.2014 / 22:27
1

Da minha experiência, o PSVersion, que é a versão do PowerShell, corresponde à versão do WMF, pelo menos no que se refere aos números das versões principais. Ainda não acompanhei todos os lançamentos de pré-visualização para ver como eles se combinam.

    
por 10.09.2014 / 22:20

Tags