Obtener la versión de PowerShell
-
Utilice la propiedad
$PSVersionTable.PSVersion
para obtener la versión de PowerShell -
Utilice la propiedad
(Get-Host).Version
para obtener la versión de PowerShell -
Utilice la propiedad
$host.Version
para obtener la versión de PowerShell - Use el registro para obtener la versión de PowerShell
PowerShell es un tipo de símbolo del sistema que es más complejo. Viene con una gran cantidad de cmdlets preparados y la capacidad de aprovechar .NET framework/C# en varios escenarios. PowerShell ISE es una interfaz gráfica de usuario para depurar y editar scripts en Windows. En PowerShell, se puede hacer lo mismo de diferentes maneras. Entonces, principalmente, hay cuatro formas en que podemos obtener la versión de PowerShell, y se detallan a continuación.
Utilice la propiedad $PSVersionTable.PSVersion
para obtener la versión de PowerShell
Así que el primer método que estamos investigando es el atributo PSVersion en la variable automática $PSVersionTable
. Aquí, representa el motor de PowerShell.
PS52> $PSVersionTable.PSVersion
Producción :
Major Minor Build Revision
----- ----- ----- --------
5 1 19041 1320
$PSVersionTable
es una tabla hash de solo lectura que proporciona información sobre la versión del motor de PoweShell y PSEdition. Este parámetro puede ser Desktop o Core y le proporcionará información adicional sobre la edición de PowerShell que está utilizando.
La variable automatizada $PSVersionTable
es tan precisa localmente como lo sería de forma remota. I en el siguiente ejemplo que incluye $PSVersionTable. PSVersion dentro de un bloque de script y ejecutarlo en una máquina remota devuelve la misma versión.
PS> Invoke-Command -ComputerName 11.0.0.3 -ScriptBlock {$PSVersionTable.PSVersion} -Credential $cred
Producción:
Utilice la propiedad (Get-Host).Version
para obtener la versión de PowerShell
La idea de hosts se usa en PowerShell. No es el motor de PowerShell el que está causando el problema. Los hosts de PowerShell son editores/consolas de código de PowerShell con un terminal integrado. El anfitrión podría tener una edición totalmente autónoma de PowerShell.
Cuando se usa (Get-Host).Version
, genera un número de versión similar a la versión de PowerShell.
PS52> (Get-Host).Version
Producción :
Major Minor Build Revision
----- ----- ----- --------
5 1 19041 1320
Sin embargo, la versión de Get-Host en el terminal integrado no siempre es la misma. Aunque el host normalmente representa la misma edición del motor de PowerShell, no siempre es así. Cuando se llama a Get-Host en una computadora local, siempre devuelve la misma versión pero nunca en sistemas remotos.
Por lo tanto, usar Get-Host para todo es una idea terrible.
Utilice la propiedad $host.Version
para obtener la versión de PowerShell
.$host.Version
es otro método para obtener la versión del motor de PowerShell. Get-Host
ofrece el mismo resultado que la variable $host, una variable completamente automatizada.
PS52> $host.Version
Producción :
Major Minor Build Revision
----- ----- ----- --------
5 1 19041 1320
Esto es bastante similar al método Get-host
.
Use el registro para obtener la versión de PowerShell
También puede verificar el registro solo si no está interesado en iniciar PowerShell. La edición de PowerShell se almacena en la ruta de la clave de registro de la siguiente manera HKLM:\SOFTWARE\Microsoft\PowerShell\3\
y también como un valor. Se puede usar Get-ItemProperty
para hacer referencia al valor de PowerShellVersion en esta entrada de registro.
PS51> (Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name 'PowerShellVersion').PowerShellVersion
Producción :
5.1.19041.1
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.