Proveedor de entorno

Se aplica a: Windows PowerShell 4.0, Windows PowerShell 5.0

NOMBRE DEL PROVEEDOR

Entorno

UNIDADES

Env:

DESCRIPCIÓN BREVE

Proporciona acceso a las variables de entorno de Windows.

DESCRIPCIÓN DETALLADA

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

El proveedor de entornos es un espacio de nombres sin formato que solo contiene objetos que representan las variables de entorno. Las variables no tienen elementos secundarios.

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 entornos expone su almacén de datos en la unidad Env:. Para trabajar con variables de entorno, cambie la ubicación a la unidad Env: ("set-location env:"), o trabaje desde otra unidad de Windows PowerShell. Para hacer referencia a una variable de entorno desde otra ubicación, utilice el nombre de la unidad Env: en la ruta de acceso.

El proveedor de entornos es compatible con todos los cmdlets que contienen el nombre Item, excepto Invoke-Item. Además, es compatible con los cmdlets Get-Content y Set-Content. Sin embargo, no es compatible con los cmdlets que contienen el nombre ItemProperty, y no admite el parámetro Filter en ningún cmdlet.

Las variables de entorno deben cumplir los estándares de nomenclatura habituales. Además, el nombre no puede incluir el signo igual (=).

Los cambios realizados en las variables de entorno afectan únicamente a la sesión actual. Para guardar los cambios, agréguelos al perfil de Windows PowerShell o use Export-Console para guardar la sesión actual.

FUNCIONALIDADES

ShouldProcess

EJEMPLOS

Acceder a la unidad Env: Unidad

-------------------------- EJEMPLO 1 --------------------------

Este comando cambia la ubicación actual a la unidad Env:.

set-location env:

Puede utilizar este comando desde cualquier unidad de Windows PowerShell. Para volver a una unidad del sistema de archivos, escriba el nombre de la unidad. Por ejemplo, escriba "set-location c:".

Obtener variables de entorno

-------------------------- EJEMPLO 1 --------------------------

Este comando muestra todas las variables de entorno de la sesión actual:

get-childitem -path env:

Puede utilizar este comando desde cualquier unidad de Windows PowerShell.

-------------------------- EJEMPLO 2 --------------------------

Este comando obtiene la variable de entorno WINDIR:

get-childitem -path env:windir

-------------------------- EJEMPLO 3 --------------------------

Este comando obtiene una lista de todas las variables de entorno de la sesión actual y, a continuación, las ordena por nombre:

get-childitem  | sort-object -property name

De forma predeterminada, las variables de entorno aparecen en el orden en que Windows PowerShell las detecta. Este comando se envía a la unidad Env:. Al ejecutar este comando desde otra unidad, agregue el parámetro Path con un valor Env:.

Crear una nueva variable de entorno

-------------------------- EJEMPLO 1 --------------------------

Este comando crea la variable de entorno USERMODE con un valor Non-Admin:

new-item -path . -name USERMODE -value Non-Admin

Dado que es la ubicación actual se encuentra en la unidad Env:, el valor del parámetro Path es un punto (.). El punto representa la ubicación actual. Si no está en la unidad Env:, el valor del parámetro Path será Env:.

Mostrar las propiedades y los métodos de las variables de entorno

-------------------------- EJEMPLO 1 --------------------------

Este comando usa el cmdlet Get-ChildItem para obtener todas las variables de entorno:

get-childitem -path env: | get-member

El operador de canalización (|) envía los resultados a Get-Member, que muestra los métodos y las propiedades del objeto. Cuando canaliza una colección de objetos a Get-Member, como la colección de variables de entorno de la unidad Env:, Get-Member evalúa cada objeto de la colección por separado. A continuación, Get-Member devuelve información sobre cada tipo de objeto que encuentra. Si todos los objetos son del mismo tipo, devuelve información sobre ese único tipo de objeto. En este caso, todas las variables de entorno son objetos DictionaryEntry. Para obtener información acerca de la colección de objetos DictionaryEntry, use el parámetro InputObject de Get-Member. Por ejemplo, escriba get-member -inputobject (get-childitem env:) Cuando utiliza el parámetro InputObject, Get-Member evalúa la colección, no los objetos de la colección.

-------------------------- EJEMPLO 2 --------------------------

Este comando muestra los valores de las propiedades de la variable de entorno WINDIR:

get-item env:windir | format-list -property *

Utiliza el cmdlet Get-Item para obtener un objeto que representa la variable de entorno WINDIR. El operador de canalización (|) envía los resultados al comando Format-List. Utiliza el parámetro Property con un carácter comodín (*) para dar formato y mostrar los valores de todas las propiedades de la variable de entorno WINDIR.

Cambiar las propiedades de una variable de entorno

-------------------------- EJEMPLO 1 --------------------------

Este comando usa el cmdlet Rename-Item para cambiar el nombre de la variable de entorno USERMODE que ha creado a USERROLE:

rename-item -path env:USERMODE -newname USERROLE

Este cambio afecta a las propiedades Name, Key y PSPath del objeto DictionaryEntry. 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.

-------------------------- EJEMPLO 2 --------------------------

Este comando usa el cmdlet Set-Item para cambiar el valor de la variable de entorno USERROLE a Administrator.

set-item -path env:USERROLE -value Administrator

Copiar una variable de entorno

-------------------------- EJEMPLO 1 --------------------------

Este comando copia el valor de la variable de entorno USERROLE a la variable de entorno USERROLE2:

copy-item -path env:USERROLE -destination env:USERROLE2

Eliminar una variable de entorno

-------------------------- EJEMPLO 1 --------------------------

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

remove-item -path env:USERROLE2

Puede utilizar este comando en cualquier unidad de Windows PowerShell. Si se encuentra en la unidad Env:, puede omitir el nombre de unidad en la ruta de acceso.

-------------------------- EJEMPLO 2 --------------------------

Este comando elimina la variable de entorno USERROLE.

clear-item -path env:USERROLE

See Also

Other Resources

about_Providers