Cet article présente deux cmdlets simples pour ajouter ou supprimer des chemins dans la variable d’environnement PATH ou PSModulePath. Ces cmdlets n’incluent pas encore la vérification de l’existence des chemins ou le rechargement automatique dans le contexte d’exécution, mais elles pourront être facilement adaptées dans le futur.
Ajout d’un chemin dans Variable d’environnement PATH
La cmdlet suivante permet d’ajouter un chemin à la variable PATH ou PSModulePath.
Function Add-Path {
Param(
[Parameter(Mandatory=$false)]
[ValidateSet("PATH", "PSModulePath")]
[String]$Target = 'PATH',
[Parameter(Mandatory=$true)]
[String]$Path
)
$PS = [IO.Path]::PathSeparator
$Pathvar = [Environment]::GetEnvironmentVariable($Target, "Machine")
$NewPathvar = ($Pathvar.Split($PS) -ne $Path -join $PS).Trim($PS)
$NewPathvar = $NewPathvar + $PS + $Path
[Environment]::SetEnvironmentVariable($Target, $NewPathvar, "Machine")
}
Explication
- Paramètres :
- $Target : Définit si le chemin doit être ajouté à PATH ou PSModulePath (par défaut, PATH).
- $Path : Le chemin à ajouter.
La cmdlet vérifie si le chemin est déjà présent, et l’ajoute uniquement si ce n’est pas le cas.
Exemple d’usage
Ajoutons un nouveau chemin à la variable PATH pour que votre système reconnaisse un nouveau programme.
Add-Path -Path "C:\MonProgramme\Bin"
Cet exemple ajoute le dossier C:\MonProgramme\Bin à la variable PATH de la machine.
Suppression d’un chemin dans Variable d’environnement PATH
Voici la cmdlet pour supprimer un chemin de la variable PATH ou PSModulePath.
Function Remove-Path {
Param(
[Parameter(Mandatory=$false)]
[ValidateSet("PATH", "PSModulePath")]
[String]$Target = 'PATH',
[Parameter(Mandatory=$true)]
[String]$Path
)
$PS = [IO.Path]::PathSeparator
$Pathvar = [Environment]::GetEnvironmentVariable($Target, "Machine")
$NewPathvar = ($Pathvar.Split($PS) -ne $Path -join $PS).Trim($PS)
[Environment]::SetEnvironmentVariable($Target, $NewPathvar, "Machine")
}
Explication
- Paramètres
- $Target : Variable d’environnement à modifier (par défaut PATH).
- $Path : Chemin à supprimer.
Cette cmdlet supprime un chemin existant dans la variable spécifiée.
Exemple d’usage
Pour supprimer un chemin spécifique de la variable PATH :
Remove-Path -Path "C:\MonProgramme\Bin"
Cet exemple enlève le chemin C:\MonProgramme\Bin de la variable PATH.
Conclusion
Les cmdlets Add-Path et Remove-Path sont des outils pratiques pour gérer les chemins dans les variables d’environnement PATH et PSModulePath. Elles permettent de simplifier les modifications sans avoir à manipuler manuellement ces variables dans les paramètres système, tout en automatisant l’ajout ou la suppression de chemins.
Ces scripts sont particulièrement utiles pour les administrateurs système et les développeurs qui ont besoin d’ajuster fréquemment leurs variables d’environnement pour des raisons de compatibilité ou de gestion des modules. Leur flexibilité permet d’améliorer l’efficacité des environnements de travail, et ils peuvent être facilement adaptés à d’autres besoins, comme la vérification de l’existence d’un chemin avant l’ajout.
En somme, ces cmdlets offrent un gain de temps et d’efficacité précieux, que ce soit pour une utilisation personnelle ou en entreprise.