Saya ingin menambahkan variabel Lingkungan ke mesin Windows (desktop atau server) dan dapat menggunakannya tanpa me-reboot mesin itu.
Katakanlah Anda memiliki server produksi yang menampung berbagai aplikasi dan aplikasi baru memerlukan variabel Lingkungan tertentu untuk dijalankan. Anda tidak ingin mem-boot ulang saat pengguna terhubung ke aplikasi Anda yang lain. Pilihan apa yang Anda miliki? Saya tidak suka opsi menunggu hingga waktu yang tepat untuk reboot. Pasti ada cara yang lebih baik. Apa yang saya lewatkan?
windows
environment-variables
Chad Braun-Duin
sumber
sumber
Jawaban:
Perubahan ke variabel lingkungan harus segera berlaku, jika Anda membuat perubahan melalui dialog Properties utama untuk komputer yang bersangkutan (buka My Computer | Properties | Advanced | Environment Variables). Setelah perubahan disimpan, Explorer menyiarkan
WM_SETTINGCHANGE
pesan ke semua jendela untuk memberi tahu mereka tentang perubahan tersebut. Program apa pun yang muncul melalui Explorer setelah ini harus mendapatkan lingkungan yang diperbarui, meskipun program yang sudah berjalan tidak akan, kecuali mereka menangani pesan perubahan pengaturan.Saya tidak dapat memberi tahu dari deskripsi masalah Anda apa masalah spesifik yang Anda alami dengan ini. Bisakah Anda ceritakan lebih lanjut tentang skenario spesifik yang tidak berfungsi?
Artikel KB ini mungkin juga berguna: Cara menyebarkan variabel lingkungan ke sistem
sumber
runas /user:yourusername@yourdomain cmd
taskkill /f /im explorer.exe
explorer.exe
Sekarang setelah menutup semua perintah, Anda akan melihat bahwa
PATH
variabel telah benar-benar diperbarui.Semua prompt perintah harus ditutup. Buka kembali prompt perintah baru, ketik path dan Anda akan melihat data baru.
sumber
ctrl+alt+shift
. Itu akan keluar dari windows explorer. Di Vista + dialog shutdown windows lebih sulit ditemukan (tapi masih ada, setidaknya sampai 7 (tidak yakin tentang 8 dan 10)), jadi ada metode kedua. ctrl + shift + klik kanan di bagian kosong menu mulai dan pilih keluar dari explorer. Di 8 opsi keluar sama, tetapi Anda menggunakan bilah tugas bukan menu mulai.Satu hal yang perlu diingat adalah bahwa banyak program mendapatkan variabel lingkungan ketika pertama kali dimulai, jadi sementara windows mungkin tidak perlu restart, beberapa program mungkin sebelum mereka akan dapat menggunakan variabel baru. Contoh bagus dari ini adalah harus membuka jendela command prompt baru setelah menambahkan PATH (ya, saya sudah tersandung oleh ini).
sumber
Sementara saya tidak memiliki cukup reputasi untuk mengomentari jawaban yang dipilih paling tinggi untuk pertanyaan ini, saya ingin menyatakan bahwa itu tidak sepenuhnya benar. Saya tahu ini karena tidak masalah solusi yang saya coba di posting ini, tidak ada yang berhasil.
The kb artikel terkait dalam bahwa jawaban sebenarnya menyatakan bahwa:
Bagian tentang variabel lingkungan yang disetel ulang ke nilai sebelumnya setelah memuat ulang command prompt adalah persis apa yang saya alami di Windows Server 2008.
Artikel selanjutnya mengatakan:
Itu tidak menyiratkan bahwa Explorer menyiarkan pesan WM_SETTINGCHANGE setelah Anda mengubah variabel lingkungan sistem, atau itu benar-benar berfungsi. Saya tidak yakin bagaimana Anda akan melakukan apa yang disarankan dalam artikel KB (untuk segera menyebarkan perubahan) dari command prompt.
sumber
Buat env. variabel tersedia segera:
Bergantung pada variabel lingkungan yang ingin Anda ubah, lakukan hal berikut: (Andaikan Anda ingin menambahkan PATH baru untuk aplikasi yang baru saja diinstal) Jadi, pada prompt shell, ketikkan yang berikut ini:
periksa apakah jalur baru Anda telah ditambahkan ke variabel lingkungan
Selesai.
Jadikan variabel tersedia saat reboot
Diuji dan bekerja pada Windows 7/10
sumber
Solusi yang mungkin untuk layanan adalah menjalankannya sementara sebagai pengguna lain (selain LocalSystem, LocalService, NetworkService). Misalnya untuk layanan Apache ini berfungsi tanpa masalah. Untuk mengubah konsol buka layanan.msc akun layanan, pilih layanan, klik properti layanan dan pada tab kedua masukkan kredensial masuk untuk pengguna. Mulai ulang layanan dan variabel lingkungannya harus terkini.
Jika ini adalah pengguna yang telah dicatat maka ini akan berfungsi tanpa masalah. Jika Anda menggunakan akun pengguna saat ini, maka me-restart explorer.exe mungkin juga diperlukan. Perhatikan juga bahwa menjalankan layanan sebagai akun pengguna biasa dapat menimbulkan risiko keamanan.
sumber
Karena orang belum menambahkan jawaban ini, saya ingin menyebutkan bahwa Anda dapat mengatur variabel sistem permanen yang selamat reboot dengan perintah SETX.
misalnya
Harap dicatat bahwa di atas tidak akan berfungsi di jendela perintah saat ini dan akan meminta Anda untuk membuka jendela perintah baru sebelum mulai berlaku. Akibatnya, tergantung pada use case; Anda mungkin perlu menggabungkan ini dengan salah satu teknik lain di atas.
Silakan lihat URL berikut untuk detail tambahan :
sumber