Назад | Перейти на главную страницу

Что представляет собой содержимое таблицы $ PSVersionTable PowerShell?

Если я echo $PSVersionTable в PowerShell я получаю несколько битов информации о версии.

Имена свойств

Все, кроме 1, имеют обозначение нормальной версии (#.#.#), а другой 1 из них (PSCompatibleVersions) представляет собой набор номеров версий ({1.0, 2.0})

Что представляет собой каждый из них?


Дополнительно: этот вопрос был создан, чтобы копнуть глубже в ответ на другой вопрос, который я задал на Какая версия Windows Management Framework установлена?. Комментарий там и другие комментарии к аналогичному вопросу, на который я ссылался, предполагают, что $PSVersionTable можно использовать для получения версии WMF. Если одно из этих свойств действительно указывает версию WMF и это гарантировано, обязательно ответьте и там. Кроме того, если вы можете предоставить какую-либо документацию или подтверждение подтверждения, я бы дал вам +2, если бы мог: мои запросы Google не дают ничего удовлетворительного.

Встроенная справка PowerShell описывает $ PSVersionTable:

Get-Help about_Automatic_Variables

Вам может потребоваться бежать Update-Help сначала, если вы не запускали его раньше.

Что хорошего в Get-Help вам не нужно точно знать, что вы ищете. То, что я набрал, чтобы найти эту тему первым, на самом деле было просто help PSVersionTable, и в нем перечислены все разделы справки, содержащие "PSVersionTable" (есть несколько других).

Это раздел about_Automatic_Variables, который описывает $PSVersionTable, как в настоящее время возвращается для меня PowerShell, но это наименее важная часть, как отметил OP:

$ PsVersionTable Содержит доступную только для чтения хэш-таблицу, в которой отображаются сведения о версии Windows PowerShell, запущенной в текущем сеансе. В таблицу включены следующие позиции:

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

По моему опыту, PSVersion, которая является версией PowerShell, соответствует версии WMF, по крайней мере, в том, что касается основных номеров версий. Однако я не отслеживал все предварительные версии, чтобы увидеть, как они совпадают.