about_Environment_Provider

Nombre del proveedor

Entorno

Unidades

Env:

Funcionalidades

ShouldProcess

Descripción breve

Proporciona acceso a las variables de entorno de Windows.

Descripción detallada

El proveedor de entornos de PowerShell le permite obtener, agregar, cambiar, borrar y eliminar variables y valores de entorno en PowerShell.

Las variables de entorno se denominan dinámicamente variables que describen el entorno en el que se ejecutan los programas. Windows y PowerShell usan variables de entorno para almacenar información persistente que afecte a la ejecución del sistema y del proceso. A diferencia de las variables de PowerShell, las variables de entorno no están sujetas a restricciones de ámbito.

La unidad entorno es un espacio de nombres plano que contiene las variables de entorno específicas de la sesión del usuario actual. Las variables de entorno no tienen elementos secundarios.

El proveedor de entorno admite los siguientes cmdlets, que se tratan en este artículo.

Tipos expuestos por este proveedor

Cada variable de entorno es una instancia de la clase System.Collections.DictionaryEntry . El nombre de la variable es la clave del diccionario. El valor de la variable de entorno es el valor del diccionario.

El proveedor de entorno expone su almacén de datos en la Env: unidad. Para trabajar con variables de entorno, cambie la ubicación a la Env: unidad (Set-Location Env:) o trabaje desde otra unidad de PowerShell. Para hacer referencia a una variable de entorno desde otra ubicación, use el nombre de Env: la unidad en la ruta de acceso.

Set-Location Env:

Para volver a una unidad del sistema de archivos, escriba el nombre de la unidad. Por ejemplo, escriba:

Set-Location C:

También puede trabajar con el proveedor de entorno desde cualquier otra unidad de PowerShell. Para hacer referencia a una variable de entorno desde otra ubicación, use el nombre Env: de la unidad en la ruta de acceso.

El proveedor de entorno también expone variables de entorno mediante un prefijo variable de $env:. El siguiente comando ve el contenido de la variable de entorno ProgramFiles . El $env: prefijo de variable se puede usar desde cualquier unidad de PowerShell.

PS C:\> $env:ProgramFiles
C:\Program Files

También puede cambiar el valor de una variable de entorno mediante el $env: prefijo de variable. Los cambios realizados solo pertenecen a la sesión actual de PowerShell siempre que esté activo.

Nota:

PowerShell usa alias para permitirle trabajar con rutas de acceso de proveedor. Los comandos como dir y ls ahora son alias para Get-ChildItem, cd es un alias para Set-Location. y pwd es un alias para Get-Location.

Obtención de variables de entorno

Este comando enumera todas las variables de entorno de la sesión actual.

Get-Item -Path Env:

Puede usar este comando desde cualquier unidad de PowerShell.

El proveedor de entorno no tiene contenedores, por lo que el comando anterior tiene el mismo efecto cuando se usa con Get-ChildItem.

Get-ChildItem -Path Env:

Obtener una variable de entorno seleccionada

Este comando obtiene la variable de WINDIR entorno.

Get-ChildItem -Path Env:windir

También puede usar el formato de prefijo de variable.

$env:windir

Creación de una variable de entorno

Este comando crea la USERMODE variable de entorno con un valor de "Non-Administración". El -Path valor del parámetro crea el nuevo elemento en la Env: unidad. La nueva variable de entorno solo se puede usar en la sesión actual de PowerShell siempre que esté activa.

PS C:\> New-Item -Path Env: -Name USERMODE -Value Non-Admin

Cambio de una variable de entorno

Cambiar el nombre de una variable de entorno

Este comando usa el Rename-Item cmdlet para cambiar el nombre de la USERMODE variable de entorno que creó a USERROLE. No cambie el nombre de una variable de entorno que utilice el sistema. Aunque estos cambios solo afectan a la sesión actual, podrían hacer que el sistema o un programa no funcionasen correctamente.

Rename-Item -Path Env:USERMODE -NewName USERROLE

Cambio de una variable de entorno

Este comando usa el Set-Item cmdlet para cambiar el valor de la USERROLE variable de entorno a "Administración istrator".

Set-Item -Path Env:USERROLE -Value Administrator

Copia de una variable de entorno

Este comando copia el valor de la USERROLE variable de entorno en la USERROLE2 variable de entorno.

Copy-Item -Path Env:USERROLE -Destination Env:USERROLE2

Eliminación de una variable de entorno

Este comando elimina la USERROLE2 variable de entorno de la sesión actual.

Remove-Item -Path Env:USERROLE2

Eliminación de una variable de entorno con Clear-Item

Este comando elimina la USERROLE variable de entorno borrando su valor.

Clear-Item -Path Env:USERROLE

Uso de la canalización

Los cmdlets del proveedor aceptan entradas de canalización. Puede usar la canalización para simplificar la tarea mediante el envío de datos del proveedor de un cmdlet a otro cmdlet de proveedor. Para más información sobre cómo usar la canalización con cmdlets de proveedor, consulte las referencias de cmdlet proporcionadas en este artículo.

Ayuda

A partir de Windows PowerShell 3.0, puede obtener temas de ayuda personalizados sobre cmdlets de proveedor que explican cómo se comportan dichos cmdlets en una unidad del sistema de archivos.

Para obtener los temas de ayuda personalizados para la unidad del sistema de archivos, ejecute un comando Get-Help en una unidad del sistema de archivos o use el -Path parámetro de Get-Help para especificar una unidad del sistema de archivos.

Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path env:

Consulte también