Если я echo $PSVersionTable
в PowerShell я получаю несколько битов информации о версии.
Имена свойств
CLRVersion
BuildVersion
PSVersion
WSManStackVersion
PSCompatibleVersions
SerializationVersion
PSRemotingProtocolVersion
Все, кроме 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, по крайней мере, в том, что касается основных номеров версий. Однако я не отслеживал все предварительные версии, чтобы увидеть, как они совпадают.