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.
Navegación por la unidad de entorno
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-Admin". 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 "Administrator".
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: