it-swarm.asia

Yeniden başlatmadan Windows ortam değişkenini nasıl eklersiniz?

Windows makinesine (masaüstü veya sunucu) bir Ortam değişkeni eklemek ve bu makineyi yeniden başlatmadan kullanabilmek istiyorum.

Çeşitli uygulamaları barındıran bir üretim sunucunuz olduğunu ve yeni bir uygulamanın çalışması için belirli bir Ortam değişkenine ihtiyacı olduğunu varsayalım. Kullanıcılar diğer uygulamalarınıza bağlıyken yeniden başlatmak istemezsiniz. Hangi seçeneklerin var? Yeniden başlatmak için iyi bir bekleme süresi beklemekten hoşlanmıyorum. Daha iyi bir yol olmalı. Neyi kaçırıyorum?

186
Chad Braun-Duin

Söz konusu bilgisayarın ana Özellikler iletişim kutusu aracılığıyla değişiklik yaparsanız, ortam değişkenlerindeki değişiklikler hemen yürürlüğe girmelidir (Bilgisayarım | Özellikler | Gelişmiş | Ortam Değişkenleri'ne gidin). Değişiklikler kaydedildikten sonra Explorer bir WM_SETTINGCHANGE Değişiklikleri bildirmek için tüm pencerelere mesaj. Bundan sonra Explorer aracılığıyla oluşturulan herhangi bir program güncellenmiş ortamı almalıdır, ancak zaten çalışan programlar ayar değişiklik mesajını işlemedikçe yapmazlar.

Sorun açıklamanızdan bununla ilgili belirli bir sorunu yaşadığınızı söyleyemiyorum. Çalışmayan belirli senaryo hakkında bize daha fazla bilgi verebilir misiniz?

Bu KB makalesi de yararlı olabilir: Ortam değişkenleri sisteme nasıl yayılır

166
Charlie
  1. Komut İstemine şunu yazın: runas /user:[email protected] cmd
  2. Yeni bir cmd İstemi açar, sonra şunu yazın: taskkill /f /im Explorer.exe
  3. Sonra şunu yazın: Explorer.exe

Şimdi tüm komut istemlerini kapattıktan sonra, PATH değişkeninin gerçekten güncellendiğini göreceksiniz.

Tüm komut istemleri kapatılmalıdır. Yeni bir komut istemini yeniden açın, path yazın ve yeni verileri göreceksiniz.

66

Akılda tutulması gereken bir şey, birçok programın ilk başlatıldığında çevresel değişkenleri edinmesidir, bu nedenle pencerelerin yeniden başlatılması gerekmeyebilir, ancak bazı programlar yeni değişkenleri kullanmadan önce olabilir. Bunun iyi bir örneği, bir PATH ekledikten sonra yeni bir komut İstemi penceresi açmak zorunda kalıyor (evet, bununla uğraştım).

20
nedm

Bu sorunun en yüksek oyu alan cevabı hakkında yorum yapmak için yeterince itibarım olmasa da, bunun tam olarak doğru olmadığını belirtmek isterim. Bunu biliyorum, çünkü bu yazıda hangi geçici çözümü denedim, hiçbir şey işe yaramadı.

bu cevapta bağlantısı verilen kb makalesi aslında şunu belirtir:

Ancak, ortam değişkenlerinde yapılan değişikliklerin anında değişiklikle sonuçlanmadığını unutmayın. Örneğin, değişiklikleri yaptıktan sonra başka bir Komut İstemi'ni başlatırsanız, ortam değişkenleri önceki (geçerli değil) değerleri yansıtır. Değişiklikler siz oturumu kapatıp yeniden oturum açana kadar geçerli olmaz.

İstem komutunu yeniden yükledikten sonra ortam değişkenlerinin önceki değerlere sıfırlanmasıyla ilgili bölüm, Windows Server 2008'de yaşadığım şeydir.

Makale şöyle devam ediyor:

Oturumu kapatmak zorunda kalmadan bu değişiklikleri gerçekleştirmek için, sistemdeki tüm pencerelere bir WM_SETTINGCHANGE iletisi yayınlayın; böylece ilgili tüm uygulamalar (Windows Gezgini, Program Yöneticisi, Görev Yöneticisi, Denetim Masası vb.) Bir güncelleştirme gerçekleştirebilir.

Bu, sistem ortamı değişkenlerini değiştirdikten sonra Explorer'ın bir WM_SETTINGCHANGE iletisi yayınladığı veya gerçekten çalıştığı anlamına gelmez. Komut İstemi'nden (değişiklikleri hemen yaymak için) KB makalesinde önerilenleri nasıl yapacağınızdan emin değilim.

16
testworks

Env yapın. değişken hemen kullanılabilir:

1. Open a Shell

Değiştirmek istediğiniz ortam değişkenine bağlı olarak aşağıdakileri yapın: (son yüklenen bir uygulama için yeni bir PATH eklemek istediğinizi varsayalım) Bu nedenle, Shell Prompt (Kabuk İstemi) alanına aşağıdakileri yazın:

2. PATH=%PATH%;C:\type\your\new\path\here

yeni yolunuzun ortam değişkenine eklendiğini kontrol edin

3. echo %PATH%

Bitti.

Değişkeni yeniden başlatma sırasında kullanılabilir hale getirme

1. Press WinLogoKey+Pause/Break
2. On the left pane, press 'Advanced System Settings'
3. On the 'Advanced' tab, click 'Environment Variables'
4. In 'System Variables' choose the one you want to modify
5. Click Ok

Windows 7/10 üzerinde test edildi ve çalışıyor

4
Pedro Sousa

Hizmetler için olası bir çözüm, bunları geçici olarak başka bir kullanıcı olarak çalıştırmaktır (LocalSystem, LocalService, NetworkService dışında). Örneğin Apache servisi için bu sorunsuz çalışıyor. Hizmet hesabını açmak için services.msc konsolunu açın, hizmeti seçin, hizmet özelliklerini tıklatın ve ikinci sekmede bir kullanıcı için oturum açma kimlik bilgilerini girin. Hizmeti yeniden başlatın ve ortam değişkenleri güncel olmalıdır.

Bu oturum açmış bir kullanıcı ise sorunsuz çalışmalıdır. Geçerli kullanıcı hesabını kullanıyorsanız, Explorer.exe dosyasını yeniden başlatmak da gerekebilir. Ayrıca, hizmetleri normal kullanıcı hesabı olarak çalıştırmanın güvenlik riskleri oluşturabileceğini unutmayın.

3
Odin

İnsanlar bu yanıtı henüz eklemediğinden, SETX komutuyla yeniden başlatılan kalıcı sistem değişkenlerini ayarlayabileceğinizi belirtmek istedim.

örneğin.

setx PATH "%PATH%;c:\temp\my\new\path"

Yukarıdakilerin geçerli komut penceresinde çalışmayacağını ve yürürlüğe girmeden önce yeni bir komut penceresi açmanızı gerektirdiğini lütfen unutmayın. Sonuç olarak, kullanım durumuna bağlı olarak; bunu yukarıdaki diğer tekniklerden biriyle birleştirmeniz gerekebilir.

Ek ayrıntılar için lütfen aşağıdaki URL'ye bakın :

1
Doug