Méthodes System.Environment.GetEnvironmentVariable
Cet article vous offre des remarques complémentaires à la documentation de référence pour cette API.
La GetEnvironmentVariable méthode récupère la valeur d’une variable d’environnement à partir du processus actuel.
Les noms de variables d’environnement respectent la casse sur les systèmes de type Unix, mais ne respectent pas la casse sur Windows.
Remarque
Les modifications apportées à l’environnement in-process par les bibliothèques natives ne sont pas visibles par les appelants gérés. À l’inverse, ces modifications apportées par les appelants managés ne sont pas visibles par les bibliothèques natives.
Méthode GetEnvironmentVariable(String)
La GetEnvironmentVariable(String) méthode récupère une variable d’environnement à partir du bloc d’environnement du processus actuel uniquement. Il équivaut à appeler la GetEnvironmentVariable(String, EnvironmentVariableTarget) méthode avec une target
valeur de EnvironmentVariableTarget.Process.
Pour récupérer toutes les variables d’environnement ainsi que leurs valeurs, appelez la GetEnvironmentVariables méthode.
Sur les systèmes Windows
Sur les systèmes Windows, le bloc d’environnement du processus actuel inclut :
Toutes les variables d’environnement qui lui sont fournies par le processus parent qui l’a créée. Par exemple, une application .NET lancée à partir d’une fenêtre de console hérite de toutes les variables d’environnement de la fenêtre de console.
S’il n’existe aucun processus parent, les variables d’environnement par ordinateur et par utilisateur sont utilisées à la place. Par exemple, une nouvelle fenêtre de console comporte toutes les variables d’environnement par ordinateur et par utilisateur définies au moment où elle a été lancée.
Toutes les variables ajoutées au bloc de processus pendant l’exécution du processus en appelant la SetEnvironmentVariable(String, String) méthode ou la SetEnvironmentVariable(String, String, EnvironmentVariableTarget) méthode avec une
target
valeur de EnvironmentVariableTarget.Process. Ces variables d’environnement persistent jusqu’à ce que l’application .NET se termine.
Si des variables d’environnement sont créées une fois le processus démarré, vous pouvez utiliser cette méthode pour récupérer uniquement les variables qui ont été créées en appelant la SetEnvironmentVariable(String, String) méthode ou la SetEnvironmentVariable(String, String, EnvironmentVariableTarget) méthode avec la target
valeur .EnvironmentVariableTarget.Process.
Sur les systèmes de type Unix
Sur les systèmes unix, le bloc d’environnement du processus actuel inclut les variables d’environnement suivantes :
Toutes les variables d’environnement qui lui sont fournies par le processus parent qui l’a créée. Pour les applications .NET lancées à partir d’un interpréteur de commandes, cela inclut toutes les variables d’environnement définies dans l’interpréteur de commandes.
Toutes les variables ajoutées au bloc de processus pendant l’exécution du processus en appelant la SetEnvironmentVariable(String, String) méthode ou la SetEnvironmentVariable(String, String, EnvironmentVariableTarget) méthode avec une
target
valeur de EnvironmentVariableTarget.Process. Ces variables d’environnement persistent jusqu’à ce que l’application .NET se termine.
Les systèmes de type .NET sur Unix ne prennent pas en charge les variables d’environnement par ordinateur ou par utilisateur.
Méthode GetEnvironmentVariable(String, EnvironmentVariableTarget)
Pour récupérer toutes les variables d’environnement ainsi que leurs valeurs, appelez la GetEnvironmentVariables méthode.
Sur les systèmes Windows
Sur Windows, le target
paramètre spécifie si la variable d’environnement est récupérée à partir du processus actuel ou de la clé de Registre du système d’exploitation Windows pour l’utilisateur actuel ou l’ordinateur local. Toutes les variables d’environnement par utilisateur et par ordinateur sont automatiquement copiées dans le bloc d’environnement du processus actuel, comme toutes les autres variables d’environnement disponibles pour le processus parent qui a créé le processus .NET. Toutefois, les variables d’environnement ajoutées uniquement au bloc d’environnement du processus actuel en appelant la SetEnvironmentVariable(String, String) méthode ou la SetEnvironmentVariable(String, String, EnvironmentVariableTarget) méthode avec une target
valeur de EnvironmentVariableTarget.Process persistance uniquement pendant la durée du processus.
Sur les systèmes de type Unix
Sur les systèmes de type Unix, la GetEnvironmentVariable(String, EnvironmentVariableTarget)
méthode prend uniquement en charge la target
valeur.EnvironmentVariableTarget.Process Les appels avec une target
valeur ou EnvironmentVariableTarget.UserEnvironmentVariableTarget.Machine ne sont pas pris en charge et retournés null
.
Les variables d’environnement par processus sont les suivantes :
Ceux hérités du processus parent, généralement l’interpréteur de commandes utilisé pour appeler
dotnet.exe
ou lancer l’application .NET.Ceux définis en appelant la SetEnvironmentVariable(String, String) méthode ou la SetEnvironmentVariable(String, String, EnvironmentVariableTarget) méthode avec une
target
valeur de EnvironmentVariableTarget.Process. Ces variables d’environnement persistent uniquement jusqu’à ce que ledotnet
processus ou l’application .NET se termine.