Establecer variables de entorno mediante PowerShell

  1. ¿Qué son las variables de entorno?
  2. Establecer una variable de entorno con Env: en PowerShell
  3. Configure la clase .NET [System.Environment] en PowerShell
  4. Actualizar variables de entorno en la sesión actual de PowerShell
Establecer variables de entorno mediante PowerShell

Usar Windows PowerShell para establecer variables de entorno de Windows, leer variables de entorno y crear nuevas variables de entorno es fácil una vez que conocemos la ejecución adecuada de los comandos.

PowerShell proporciona muchos métodos diferentes para interactuar con las variables de entorno de Windows de la clase .NET $env: PSDrive y [System.Environment]. Este artículo analizará la configuración de variables de entorno y su actualización en nuestra sesión actual mediante PowerShell.

¿Qué son las variables de entorno?

Como sugiere el nombre, las variables de entorno almacenan información sobre Windows y los entornos de las aplicaciones.

Podemos acceder a las variables de entorno a través de una interfaz gráfica como Windows Explorer y editores de texto sin formato como Notepad, cmd.exe y PowerShell.

El uso de variables de entorno nos ayuda a evitar la codificación de rutas de archivos, nombres de usuarios o equipos, y más, en nuestros scripts o módulos de PowerShell.

Establecer una variable de entorno con Env: en PowerShell

Podemos crear nuevas variables de entorno con PowerShell usando el cmdlet New-Item. Pero, primero, proporcione el nombre de la variable de entorno en el formato Env:\<EnvVarName> para el parámetro Valor, como se muestra a continuación.

Código de ejemplo:

New-Item -Path Env:\TEST -Value WIN10-DESKTOP

Producción :

Name                           Value
----                           -----
TEST                           WIN10-DESKTOP

Podemos usar el cmdlet Set-Item para establecer una variable de entorno o crear una nueva si aún no existe. Por ejemplo, podemos ver a continuación usando el cmdlet Set-Item.

Podemos crear o modificar una variable de entorno.

Código de ejemplo:

Set-Item -Path Env:TEST -Value "TestValue"

Configure la clase .NET [System.Environment] en PowerShell

El [System.Environment] utilizará algunos métodos de clase estática .NET diferentes. No necesitamos entender lo que es una forma estática.

Solo necesitamos entender para usar cualquiera de las técnicas que estamos a punto de aprender, y primero necesitaremos hacer referencia a la clase ([System.Environment]) seguido de dos dos puntos (::) luego seguido del método .

Para establecer la variable de entorno utilizando la clase .NET indicada, utilice la función SetEnvironmentVariable() para establecer el valor de una variable de entorno existente para el ámbito dado o cree una nueva variable de entorno si aún no existe.

Al establecer variables en el alcance del proceso, encontraremos que el alcance del proceso es volátil y existe en la sesión actual, mientras que los cambios en los alcances del usuario y la máquina son permanentes.

Código de ejemplo:

[System.Environment]::SetEnvironmentVariable('TestVariable','TestValue','User')

Actualizar variables de entorno en la sesión actual de PowerShell

Para usar nuestro nuevo conjunto de variables de entorno en nuestra sesión de PowerShell, obtenga la variable de entorno del perfil de usuario y la máquina a través de la clase .NET y asígnela a la variable de entorno de PowerShell.

Dado que las variables de entorno también se consideran variables de PowerShell, podemos asignarles valores directamente de manera más directa.

Código de ejemplo:

$env:PATH = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

Artículo relacionado - PowerShell Environment Variables