it-swarm-id.com

Bagaimana Anda menambahkan variabel lingkungan Windows tanpa me-reboot?

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 melakukan boot ulang. Pasti ada cara yang lebih baik. Apa yang saya lewatkan?

186
Chad Braun-Duin

Perubahan ke variabel lingkungan harus segera berlaku, jika Anda melakukan 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 akan 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

166
Charlie
  1. Dalam perintah, ketik Prompt: runas /user:[email protected] cmd
  2. Ini akan membuka Prompt cmd baru, lalu ketik: taskkill /f /im Explorer.exe
  3. Kemudian ketik: Explorer.exe

Sekarang setelah menutup semua perintah, Anda akan melihat bahwa variabel PATH telah benar-benar diperbarui.

Semua prompt perintah harus ditutup. Buka kembali Prompt perintah baru, ketik path dan Anda akan melihat data baru.

66

Satu hal yang perlu diingat adalah bahwa banyak program mendapatkan variabel lingkungan ketika mereka pertama kali dimulai, jadi sementara windows mungkin tidak perlu restart, beberapa program mungkin sebelum mereka akan dapat menggunakan variabel baru. Contoh yang baik dari ini adalah harus membuka jendela Prompt perintah baru setelah menambahkan PATH (ya, saya telah tersandung oleh ini).

20
nedm

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 artikel kb ditautkan dalam jawaban it sebenarnya menyatakan bahwa:

Namun, perhatikan bahwa modifikasi pada variabel lingkungan tidak menghasilkan perubahan langsung. Misalnya, jika Anda memulai Command Prompt lain setelah melakukan perubahan, variabel lingkungan akan mencerminkan nilai sebelumnya (bukan yang sekarang). Perubahan tidak berlaku sampai Anda keluar lalu masuk kembali.

Bagian tentang variabel lingkungan yang disetel ulang ke nilai sebelumnya setelah memuat ulang perintah Prompt adalah persis apa yang saya alami di Windows Server 2008.

Artikel selanjutnya mengatakan:

Untuk melakukan perubahan ini tanpa harus keluar, tayangkan pesan WM_SETTINGCHANGE ke semua jendela dalam sistem, sehingga aplikasi apa pun yang tertarik (seperti Windows Explorer, Manajer Program, Manajer Tugas, Panel Kontrol, dan sebagainya) dapat melakukan pembaruan.

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 perintah Prompt.

16
testworks

Buat env. variabel tersedia segera:

1. Open a Shell

Bergantung pada variabel lingkungan yang ingin Anda ubah, lakukan hal berikut: (Andaikan Anda ingin menambahkan PATH baru untuk aplikasi yang baru saja diinstal) Jadi, di Shell Prompt, ketikkan yang berikut ini:

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

periksa apakah jalur baru Anda telah ditambahkan ke variabel lingkungan

3. echo %PATH%

Selesai.

Jadikan variabel tersedia saat reboot

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

Diuji dan bekerja pada Windows 7/10

4
Pedro Sousa

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, pilih layanan, klik properti layanan dan pada tab kedua masukkan kredensial masuk untuk pengguna. Mulai ulang layanan dan variabel lingkungannya harus terbaru.

Jika ini adalah pengguna yang telah dicatat maka ini akan berfungsi tanpa masalah. Jika Anda menggunakan akun pengguna saat ini, maka restart Explorer.exe mungkin juga diperlukan. Perhatikan juga bahwa menjalankan layanan sebagai akun pengguna biasa dapat menimbulkan risiko keamanan.

3
Odin

Karena orang belum menambahkan jawaban ini, saya ingin menyebutkan bahwa Anda dapat mengatur variabel sistem permanen yang selamat reboot dengan perintah SETX.

misalnya.

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

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 :

1
Doug