J'aimerais ajouter une variable d'environnement à une machine Windows (poste de travail ou serveur) et pouvoir l'utiliser sans redémarrer cette machine.
Supposons que votre serveur de production héberge diverses applications et qu'une nouvelle application nécessite l'exécution d'une variable d'environnement particulière. Vous ne souhaitez pas le redémarrer lorsque les utilisateurs sont connectés à vos autres applications. Quels choix as-tu? Je n'aime pas l'option d'attendre le bon moment pour redémarrer. Il doit y avoir un meilleur moyen. Qu'est-ce que je rate?
windows
environment-variables
Chad Braun-Duin
la source
la source
Réponses:
Les modifications apportées aux variables d'environnement doivent prendre effet immédiatement si vous effectuez ces modifications via la boîte de dialogue Propriétés principale de l'ordinateur en question (sous Poste de travail | Propriétés | Avancé | Variables d'environnement). Une fois les modifications enregistrées, Explorer envoie un
WM_SETTINGCHANGE
message à toutes les fenêtres pour les informer de la modification. Tous les programmes créés via Explorer après cette opération doivent obtenir l'environnement mis à jour, mais pas les programmes déjà en cours d'exécution, à moins qu'ils ne gèrent le message de modification des paramètres.Je ne suis pas en mesure de dire à partir de la description de votre problème quel problème spécifique vous rencontrez. Pouvez-vous nous en dire plus sur le scénario spécifique qui ne fonctionne pas?
Cet article de la Base de connaissances peut également être utile: Comment propager des variables d’environnement au système
la source
runas /user:yourusername@yourdomain cmd
taskkill /f /im explorer.exe
explorer.exe
Maintenant, après avoir fermé toutes les invites de commande, vous verrez que la
PATH
variable a été réellement mise à jour.Toutes les invites de commande doivent être fermées. Rouvrez une nouvelle invite de commande, tapez chemin et vous verrez les nouvelles données.
la source
ctrl+alt+shift
. Cela quittera proprement l'explorateur Windows. Dans Vista +, le dialogue des fenêtres d'arrêt est plus difficile à trouver (mais reste présent, au moins jusqu'à 7 (incertain sur 8 et 10)), il existe donc une deuxième méthode. Ctrl + Maj + clic droit dans une partie vide du menu Démarrer et choisissez quitter l'explorateur. Dans 8 l'option de sortie est la même, mais vous utilisez la barre des tâches pas le menu Démarrer.Il convient de garder à l'esprit que de nombreux programmes obtiennent les variables d'environnement lors de leur premier démarrage. Par conséquent, bien que Windows n'ait pas besoin de redémarrer, certains programmes peuvent avant de pouvoir utiliser les nouvelles variables. Un bon exemple en est la nécessité d’ouvrir une nouvelle fenêtre d’invite de commande après l’ajout d’un PATH (oui, j’ai été déclenché par cela).
la source
Même si je n'ai pas assez de réputation pour commenter la réponse la plus votée à cette question, je voudrais dire que ce n'est pas tout à fait correct. Je le sais parce que, quelle que soit la solution de contournement que j'ai essayée dans ce post, rien ne fonctionnait réellement.
L' article kb associé à cette réponse indique en effet que:
La partie concernant les variables d’environnement réinitialisées aux valeurs précédentes après le rechargement de l’invite de commande correspond exactement à ce que j’ai expérimenté dans Windows Server 2008.
L'article poursuit:
Cela n'implique pas que l'Explorateur diffuse un message WM_SETTINGCHANGE une fois que vous avez modifié les variables d'environnement système ou qu'il fonctionne réellement. Je ne sais pas comment vous feriez ce que l'article de la Base de connaissances vous propose (pour propager immédiatement les modifications) à partir de l'invite de commande.
la source
Faire l'env. variable disponible tout de suite:
En fonction de la variable d'environnement que vous souhaitez modifier, procédez comme suit: (supposez que vous souhaitiez ajouter un nouveau PATH pour une application récemment installée). Ainsi, à l'invite du shell, tapez ce qui suit:
vérifiez que votre nouveau chemin a été ajouté à la variable d'environnement
Terminé.
Rendre la variable disponible au redémarrage
Testé et fonctionnant sous Windows 7/10
la source
Une solution possible pour les services consiste à les exécuter temporairement en tant qu'utilisateur différent (autre que LocalSystem, LocalService, NetworkService). Par exemple, pour le service Apache, cela fonctionne sans aucun problème. Pour modifier le compte de service, ouvrez la console services.msc, sélectionnez service, cliquez sur Propriétés du service et, dans le deuxième onglet, entrez les informations d'identification de connexion d'un utilisateur. Redémarrez le service et ses variables d'environnement doivent être à jour.
S'il s'agit d'un utilisateur qui a été connecté, cela devrait fonctionner sans problème. Si vous utilisez le compte d'utilisateur actuel, il peut être nécessaire de redémarrer explorer.exe également. Notez également que l’exécution de services en tant que compte utilisateur normal peut créer des risques de sécurité.
la source
Les gens n'ayant pas encore ajouté cette réponse, je voulais mentionner que vous pouvez définir des variables système permanentes qui survivent au redémarrage avec la commande SETX.
par exemple
Veuillez noter que ce qui précède ne fonctionnera pas dans la fenêtre de commande actuelle et vous demandera d’ouvrir une nouvelle fenêtre de commande avant qu’elle ne prenne effet. En conséquence, selon le cas d'utilisation; vous devrez peut-être combiner cela avec l'une des autres techniques ci-dessus.
Veuillez consulter l'URL suivante pour plus de détails :
la source