Bagaimana saya bisa memodifikasi variabel lingkungan PATH pengguna tanpa keluar?

22

Pertanyaannya cukup banyak mengatakan itu semua; Saya memiliki pengguna yang tidak memiliki izin untuk mengedit PATHvariabel lingkungan mereka sendiri dan jika mereka perlu memodifikasinya karena alasan tertentu, mereka harus keluar sehingga Admin dapat masuk dan mengubahnya PATHuntuk mereka, sebelum pengguna masuk kembali. . Ini tidak ideal. Bisakah itu dilakukan dengan cara yang lebih baik?

tanpa tujuan
sumber
Hanya ingin tahu - tetapi bagaimana tepatnya Anda mencegah pengguna mengubah lingkungan default mereka sendiri? Apakah Anda hanya menolak akses mereka ke My Computer / Properties / Advanced / Environment Variable? Mereka masih dapat memodifikasi HKCU / Lingkungan melalui berbagai metode.
Cooper
Preferensi kebijakan grup? Hanya pemikiran saja.
Simon Catlin

Jawaban:

6

Anda selalu dapat menjalankan shell cmd dengan hak administrator (atau metode runas lainnya), dan menggunakan alat seperti SETX untuk memodifikasi jalur secara permanen. Kerang yang ada dan / atau program yang sedang berjalan mungkin akan menggunakan jalur yang lama, tetapi setiap shell / program baru akan menggunakan pengaturan yang baru.

Berzemus
sumber
25

Untuk akun tanpa hak admin:

Buka "Akun Pengguna" dan pilih "Ubah variabel lingkungan saya" ( http://support.microsoft.com/kb/931715 ).

Dialog ini akan menunjukkan kepada Anda variabel pengguna Anda saat ini serta variabel sistem. Anda mungkin perlu menambahkan variabel PATH lokal jika belum.

Untuk memperbarui Path Anda untuk memasukkan direktori Python 3.3, misalnya, klik Baru:

Nama Variabel: PATH Nilai Variabel:% PATH%; C: \ Python33

Ini menciptakan PATH lokal dengan mengambil PATH sistem saat ini dan menambahkannya.

Curtis Nelson
sumber
2
Saya harus memikirkan jawaban ini, " Saya memiliki pengguna yang tidak memiliki izin untuk mengedit PATH mereka sendiri ...", dan melakukannya secara permanen , lebih baik daripada yang lain. Dilakukan dengan sangat baik. Bertanya-tanya mengapa mengklik itu dari Komputer Saya dilindungi admin jika ini tidak? Lindungi saja bidang non-lokal dengan cara yang sama seperti yang dilakukan UI saat diakses dengan cara ini.
ruffin
10

Variabel Komputer / Properti / Lanjutan / Lingkungan saya. Perubahan di sana langsung berlaku kecuali untuk jendela command prompt yang sudah terbuka. Tidak perlu keluar dan kembali.

CATATAN: Jika Anda tidak memiliki akses ke jendela itu, Anda mungkin bisa mendapatkannya dengan menjalankannya rundll32 sysdm.cpl,EditEnvironmentVariablesdari jendela Jalankan atau baris perintah.

John Gardeniers
sumber
pengguna biasa pada jaringan saya tidak dapat mengubah variabel lingkungan mereka sendiri seperti ini, kecuali saya bisa membuka layar yang dengan privs ditinggikan melalui "run as ..." atau sesuatu yang mirip, ini tidak akan bekerja untuk saya
ninesided
4

Dalam prompt perintah yang dapat Anda lakukan:

set PATH=C:\somedir;%PATH%

tetapi ini hanya mengubahnya untuk prompt perintah (dan aplikasi apa pun yang diluncurkan dari prompt perintah). Dengan asumsi Anda ingin ini berlaku untuk semua yang dilakukan pengguna, Anda mengubah variabel lingkungan pengguna. Klik kanan Komputer Saya, Properti, Tingkat Lanjut, variabel Lingkungan dan di "Variabel pengguna untuk menambahkan variabel:

PATH = C:\whatever

Ketika pengguna login ini akan ditambahkan ke jalur lebar sistem.

John Rennie
sumber
Saya perlu mengubah urutan entri yang sudah ada dalam PATH, jadi menambahkan penghapusan dari Variabel Pengguna tidak berfungsi untuk saya dalam kasus ini
ninesided
setx, seperti yang disebutkan @Berzemus, dapat mengedit variabel sistem PATH ( /msakelar) secara permanen.
Pat
2

Pengguna dapat mengatur variabel PATH pada prompt perintah yang akan menimpa variabel PATH seluruh sistem, bahkan jika pengguna tidak memiliki hak "Administrator". Perubahan akan berlaku untuk proses baru pengguna mulai dari prompt perintah itu. (Proses Explorer yang ada, dan proses lain yang dijalankan pengguna saat perubahan dilakukan, tidak akan "melihat" perubahan.)

Evan Anderson
sumber
1

Selain jawaban di atas, Anda juga dapat memperbarui registri (yang memiliki keunggulan karena dapat skrip):

Variabel PATH disimpan di HKEY_CURRENT_USER \ Environment.

Untuk membaca jalur saat ini:

reg query HKEY_CURRENT_USER\Environment /v PATH

Untuk menambahkan nilai c: \ somedir ke jalur:

reg add HKEY_CURRENT_USER\Environment /v PATH /d "%PATH%;c:\somedir"

Perhatikan bahwa proses membaca lingkungan saat diluncurkan, jadi Anda harus memulai ulang proses untuk mendapatkan jalur baru.

Pembaruan: Cara lain yang saya temukan adalah menjalankan:

rundll32 sysdm.cpl,EditEnvironmentVariables

Sekali lagi, applet ini mengedit registry dan memiliki efek yang sama seperti di atas.

Kristopher Noronha
sumber