Vous pouvez également modifier les variables d'environnement de l'utilisateur/du système en permanence (c'est-à-dire qu'il sera persistant à travers les redémarrages du shell) avec ce qui suit :
Modifier une variable d'environnement système
[Environment]::SetEnvironmentVariable
("Path", $env:Path, [System.EnvironmentVariableTarget]::Machine)
Modifier une variable d'environnement utilisateur
[Environment]::SetEnvironmentVariable
("INCLUDE", $env:INCLUDE, [System.EnvironmentVariableTarget]::User)
Utilisation à partir de commentaires - ajouter à la variable d'environnement du système
[Environment]::SetEnvironmentVariable(
"Path",
[Environment]::GetEnvironmentVariable("Path", [EnvironmentVariableTarget]::Machine) + ";C:\bin",
[EnvironmentVariableTarget]::Machine)
Une solution basée sur les chaînes de caractères est également possible si vous ne voulez pas écrire les types.
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\bin", "Machine")
1 votes
J'aimerais avoir un profil central situé sur un partage de fichiers. La synchronisation est un problème. La création d'un stub profile avec . \\computer\share\path\Profile.ps1 semble être une astuce (essayez Notepad $Profile). Ce serait bien s'il y avait un moyen de changer de façon permanente la variable automatique $Profile.
5 votes
Pas d'environnement PATH fait affectent également l'invite de commande powershell. Ce qui diffère cependant, c'est que powershell n'accepte pas les chemins entre guillemets. Solution : supprimez tous les guillemets (
"
) dans la variable d'environnement chemin4 votes
SI VOUS ATTEIGNEZ ICI POUR PS > v1... Suite au commentaire de Nilzor ci-dessus : Utilisez ceci pour supprimer tous les " des chemins dans la variable d'environnement PATH pour votre session :
$($Env:PATH).Split(';') | %{ $str += "$($_.Trim('"'));" }; $Env:PATH=$str