Métodos System.Environment.GetEnvironmentVariable

En este artículo se proporcionan comentarios adicionales a la documentación de referencia de esta API.

El GetEnvironmentVariable método recupera el valor de una variable de entorno del proceso actual.

Los nombres de las variables de entorno distinguen mayúsculas de minúsculas en sistemas similares a Unix, pero no distinguen mayúsculas de minúsculas en Windows.

Nota:

Los autores de llamadas administradas no ven las modificaciones del entorno en proceso realizadas por las bibliotecas nativas. Por el contrario, las bibliotecas nativas no ven estas modificaciones realizadas por los llamadores administrados.

Método GetEnvironmentVariable(String)

El GetEnvironmentVariable(String) método recupera una variable de entorno del bloque de entorno solo del proceso actual. Es equivalente a llamar al GetEnvironmentVariable(String, EnvironmentVariableTarget) método con un target valor de EnvironmentVariableTarget.Process.

Para recuperar todas las variables de entorno junto con sus valores, llame al GetEnvironmentVariables método .

En sistemas Windows

En los sistemas Windows, el bloque de entorno del proceso actual incluye:

  • Todas las variables de entorno proporcionadas por el proceso primario que la creó. Por ejemplo, una aplicación .NET iniciada desde una ventana de consola hereda todas las variables de entorno de la ventana de consola.

    Si no hay ningún proceso primario, en su lugar se usan variables de entorno por máquina y por usuario. Por ejemplo, una nueva ventana de consola tiene todas las variables de entorno por máquina y por usuario definidas en el momento en que se inició.

  • Cualquier variable agregada al bloque de proceso mientras se ejecuta el proceso llamando al SetEnvironmentVariable(String, String) método o al SetEnvironmentVariable(String, String, EnvironmentVariableTarget) método con un target valor de EnvironmentVariableTarget.Process. Estas variables de entorno se conservan hasta que finaliza la aplicación .NET.

Si las variables de entorno se crean una vez iniciado el proceso, puede usar este método para recuperar solo las variables que se crearon llamando al SetEnvironmentVariable(String, String) método o al SetEnvironmentVariable(String, String, EnvironmentVariableTarget) método con un target valor .EnvironmentVariableTarget.Process.

En sistemas similares a Unix

En sistemas similares a Unix, el bloque de entorno del proceso actual incluye las siguientes variables de entorno:

.NET en sistemas similares a Unix no admite variables de entorno por máquina o por usuario.

Método GetEnvironmentVariable(String, EnvironmentVariableTarget)

Para recuperar todas las variables de entorno junto con sus valores, llame al GetEnvironmentVariables método .

En sistemas Windows

En Windows, el target parámetro especifica si la variable de entorno se recupera del proceso actual o de la clave del Registro del sistema operativo Windows para el usuario actual o la máquina local. Todas las variables de entorno por usuario y por máquina se copian automáticamente en el bloque de entorno del proceso actual, como cualquier otra variable de entorno que esté disponible para el proceso primario que creó el proceso de .NET. Sin embargo, las variables de entorno agregadas solo al bloque de entorno del proceso actual llamando al SetEnvironmentVariable(String, String) método o al SetEnvironmentVariable(String, String, EnvironmentVariableTarget) método con un target valor de EnvironmentVariableTarget.Process persistir solo durante el proceso.

En sistemas similares a Unix

En sistemas similares a Unix, el GetEnvironmentVariable(String, EnvironmentVariableTarget) método solo admite un target valor de EnvironmentVariableTarget.Process . Las llamadas con un target valor de EnvironmentVariableTarget.Machine o EnvironmentVariableTarget.User no se admiten y devuelven null.

Las variables de entorno por proceso son: