Sedikit latar belakang penting: perusahaan saya memiliki skrip login VBS generik yang membuat modifikasi pada variabel lingkungan PATH pengguna saat masuk dan memungkinkan saya untuk menjalankan perangkat lunak yang memiliki ketergantungan pada file DFS yang dipetakan. Saya juga baru-baru ini menginstal Windows Powershell SDK ke mesin Windows 7 Enterprise saya dan berusaha untuk mencoba memodifikasi variabel lingkungan PATH saya dari baris perintah Powershell.
Setelah ini, saya perhatikan bahwa saya tidak bisa lagi menjalankan aplikasi yang sesuai dengan modifikasi PATH login ini dan bahwa editor variabel lingkungan PATH diatur ke sesuatu yang berbeda dari apa yang muncul ketika saya mengeluarkan 'echo %PATH%'
dari dari command prompt.
Jadi misalnya (penyederhanaan), dari editor variabel lingkungan ( My Computer properties -> Advanced System Settings -> Environment Variables
) saya punya
C:\MyDir\; C:\MyOtherDir
sedangkan ketika saya melakukannya 'echo %PATH%'
dari command prompt saya mendapat:
C:\MyDir\
Adakah orang lain yang memiliki masalah serupa dan apakah ada semacam resolusi? Ketika saya mencari bantuan Google, saya menemukan ini:
(Terkait?) StackOverflow Thread
Terpikir oleh saya bahwa jika skrip login diprakarsai oleh sesuatu selain lingkungan Explorer.exe saya, maka itulah masalahnya. Namun, ketika saya menjalankan skrip login sendiri, PATH saya dari command prompt tidak berubah. Apa hubungannya ini dengan PowerShell? Saya kehilangan bagaimana ini terhubung ke instalasi itu sepenuhnya.
sumber
Jawaban:
Windows memiliki dua kelas variabel lingkungan, variabel lingkungan sistem, dan variabel lingkungan pengguna . Jika Anda menggunakan,
echo %PATH%
Anda akan melihat variabel lingkungan pengguna AndaPATH
. Hanya jika tidak ada variabel pengguna yang ditentukan, variabel sistem akan berlaku untuk proses pengguna.The
PATH
pemisah;
tidak harus diikuti oleh kosong a.Catatan Microsoft berikut mungkin bermanfaat:
Anda dapat mengubah variabel lingkungan pengguna dengan mengedit kunci Registry berikut:
Anda dapat mengubah variabel lingkungan sistem dengan mengedit kunci Registry berikut:
Perhatikan bahwa variabel lingkungan apa pun yang perlu diperluas (misalnya, ketika Anda menggunakan
%SYSTEM%
) harus disimpan dalam registri sebagaiREG_EXPAND_SZ
nilai registri. Nilai tipe apaREG_SZ
pun tidak akan diperluas saat dibaca dari registri.Komentar tambahan: Setiap kali suatu proses mengubah lingkungannya (daripada pengaturan registri yang menentukan lingkungan untuk proses baru), perubahan hanya terlihat untuk proses anak.
sumber
tmp
dantemp
. Apakah Anda yakin ini adalah jalur untuk pengguna, yang harus diubah?