Environment variables in Windows
Dupa cum probabil stiti, exista doua tipuri de variablie de sistem, user & system. User – sunt vizibile numai in profilul utilizatorului in care sunt definite; si system – accesibile de catre intreg sistemul.
Folosing comanda SET putem vedea toate variabilele la care avem access in sesiunea noastra:
De exemplu variabila LOGONSERVER ne spune ce server ne-a autentificat. In cazul unei statii joinate la un domeniu Active Directory putem vedea DC-ul folosit pentru logon. Altfel apare numele statiei locale.
Insa probabil cea mai folosita variabila din lista de mai sus este PATH. Si hai sa incercam sa ii modificam valoarea (de exemplu mai adaugam calea c:\Andrei\). Putem face acest lucru in doua moduri: interfata grafica si prompt. Din prompt se face cam asa:
SET PATH=%PATH%;c:\Andrei\
Insa cea mai buna varianta in Windows de a seta variabilele de sistem este sa folosim interfata grafica:
Si asta pentru a propaga variabilele in sistem. Prin varianta din command prompt, noua valoare va fi vazuta doar in contextul acelui command prompt, insa din GUI schimbarile vor fi vazute de orice proces nou din system. Iar explicatia pentru acest comportament o gasiti aici http://support.microsoft.com/kb/104011 (din prompt nu se trimite acel mesaj catre applicatii pentru a le anunta sa foloseasca noua valoare).
Pentru applicatii care ruleaza folosind conturi system e posibil sa fie totusi nevoie de un reboot.
Si pot sa va mai spun ca unele variabile merg setate din regitry.
System le gasim aici: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment.
Iar user: HKEY_CURRENT_USER\Environment
Sunt stocate ca Expandable String Value. Regedit-ul din Windows 7 stie by default de REG_EXPAND_SZ. In versiunile mai vechi era nevoie de regedit32 pentru a edita aceste valori.
Sper ca informatia sa va fie de folos sau macar sa va faca un scurt refresh la capitolul Environment Variables.
PS: mai tine cineva minte Autoexec.bat? 🙂