Búsqueda de sitios web

¿Cómo configurar y obtener variables de entorno en PowerShell?


Recientemente, alguien de una comunidad de PowerShell me preguntó acerca de cómo configurar variables de entorno en PowerShell. PowerShell proporciona diferentes cmdlets para hacer esto. Permítanme compartir con ustedes cómo configurar y obtener variables de entorno en PowerShell.

Para configurar una variable de entorno en PowerShell, simplemente puede usar la variable $env seguida del nombre de la variable y asignarle un valor. Por ejemplo, para establecer la variable "MiVariable" en "¡Hola, mundo!", usaría el comando $env:MyVariable="¡Hola, mundo!". Este método establece la variable temporalmente, haciéndola disponible solo en la sesión actual de PowerShell.

Establecer variable de entorno en PowerShell

Las variables de entorno son valores dinámicos que afectan la forma en que se ejecutan los procesos y aplicaciones en una computadora. Pueden almacenar información como rutas de archivos, configuraciones del sistema y preferencias del usuario. En Windows, las variables de entorno pueden ser específicas del usuario o de todo el sistema.

Ahora, déjame mostrarte cómo configurar variables de entorno en PowerShell.

PowerShell ofrece varias formas de configurar variables de entorno. Veamos algunos enfoques comunes.

1. Usando la variable $env

La forma más sencilla de configurar una variable de entorno en PowerShell es utilizando la variable $env seguida del nombre de la variable. He aquí un ejemplo:

$env:MyVariable = "Hello, World!"

En este caso, establecemos el valor de la variable de entorno denominada "MiVariable" en "¡Hola, mundo!". Este método establece la variable temporalmente, lo que significa que solo estará disponible en la sesión actual de PowerShell.

Puedes ver el script después de que lo ejecuté.

Consulte la variable de impresión de PowerShell

2. Uso del cmdlet Set-Item

Otra forma de configurar una variable de entorno en PowerShell es mediante el cmdlet Set-Item. Este cmdlet le permite modificar el valor de una variable existente o crear una nueva. He aquí un ejemplo:

Set-Item -Path Env:\MyVariable -Value "Hello, PowerShell!"

En este caso, utilizamos el cmdlet Set-Item para establecer el valor de "MyVariable" en "¡Hola, PowerShell!". El parámetro -Path especifica la ubicación de la variable de entorno y el parámetro -Value establece su valor.

3. Establecer variables de entorno persistentes

Si desea establecer una variable de entorno que persista en las sesiones de PowerShell y en los reinicios del sistema, puede utilizar el método [Environment]::SetEnvironmentVariable(). He aquí un ejemplo:

[Environment]::SetEnvironmentVariable("MyVariable", "Persistent Value", "User")

En este caso, establecemos el valor de "MiVariable" en "Valor persistente" para el usuario actual. El tercer parámetro especifica el alcance de la variable, que puede ser "Usuario" o "Máquina".

Consulte Obtener nombre de computadora en PowerShell

PowerShell: establecer variable de entorno para la sesión

Las variables de entorno temporales se establecen durante la duración de la sesión de PowerShell. Una vez cerrada la sesión, estas variables se descartan.

Para establecer una variable de entorno temporal, utilice el prefijo $env: seguido del nombre de la variable y el operador de asignación (=). He aquí un ejemplo:

$env:MyTempVar = "TemporaryValue"

Este comando establece una variable de entorno denominada MyTempVar con el valor TemporaryValue.

PowerShell: establecer la variable de entorno de forma permanente

Las variables de entorno permanentes persisten en las sesiones de PowerShell y en los reinicios del sistema. Para establecer una variable de entorno permanente, debe utilizar el método [System.Environment]::SetEnvironmentVariable.

Para configurar una variable de entorno específica del usuario, utilice el siguiente comando:

[System.Environment]::SetEnvironmentVariable("MyUserVar", "UserValue", "User")

Este comando establece una variable de entorno denominada MyUserVar con el valor UserValue para el usuario actual.

Consulte Establecer variables en PowerShell

PowerShell: establecer el nivel de máquina de la variable de entorno

Para configurar una variable de entorno para todo el sistema, utilice el siguiente comando. Tenga en cuenta que necesita privilegios administrativos para configurar variables en todo el sistema:

[System.Environment]::SetEnvironmentVariable("MySystemVar", "SystemValue", "Machine")

Este comando establece una variable de entorno denominada MySystemVar con el valor SystemValue para todo el sistema.

Obtener variable de entorno en PowerShell

Ahora que sabemos cómo configurar variables de entorno, exploremos cómo recuperar sus valores en PowerShell.

1. Usando la variable $env

Para obtener el valor de una variable de entorno en PowerShell, simplemente puede usar la variable $env seguida del nombre de la variable. He aquí un ejemplo:

$value = $env:MyVariable
Write-Host $value

En este caso, recuperamos el valor de "MiVariable" y lo almacenamos en la variable $value. Luego usamos Write-Host para mostrar el valor.

Ejecuté el script de PowerShell anterior y puedes ver el resultado en la siguiente captura de pantalla:

2. Uso del cmdlet Get-ChildItem

Otra forma de obtener variables de entorno en PowerShell es mediante el uso del cmdlet Get-ChildItem con la unidad Env:. He aquí un ejemplo:

Get-ChildItem Env:

Este comando recupera todas las variables de entorno definidas en la sesión actual y muestra sus nombres y valores.

3. Usando [Sistema.Entorno]

Para un enfoque .NET, puede utilizar:

[System.Environment]::GetEnvironmentVariable("MY_VARIABLE", "User")

Esto recupera el valor de una variable de entorno específica para el usuario actual. Reemplace "Usuario" con "Máquina" para las variables de todo el sistema.

Conclusión

En este tutorial, expliqué cómo configurar y obtener variables de entorno en PowerShell. Cubrimos diferentes métodos, incluido el uso de la variable $env, el cmdlet Set-Item y el método [Environment]::SetEnvironmentVariable(). . También analizamos cómo recuperar los valores de las variables de entorno en PowerShell usando la variable $env y el cmdlet Get-ChildItem.

Artículos relacionados