Ho modificato alcune variabili d'ambiente (usando entrambe setx
e tramite la GUI: Pannello di controllo - Proprietà del sistema - Avanzate - Variabile d'ambiente). Le modifiche persistono dopo il riavvio, che posso vedere nei terminali, in regedit o tramite la GUI. Ma non vengono raccolti da powershell
, cmd
o gitbash
. Perché dovrebbe essere?
Ecco alcuni estratti da PowerShell usando la variabile di ambiente di esempio %HOMEDRIVE%
, eseguiti immediatamente dopo il riavvio:
PS H:\> Get-ItemProperty Registry::HKEY_CURRENT_USER\Environment\
AWP_LOCALE182 : en-us
HOMEDRIVE : C:
...
PS H:\> Get-ItemProperty "Registry::HKLM\System\CurrentControlSet\Control\Session Manager\Environment"
...
HOMEDRIVE : C:
...
PS H:\> $Env:HOMEDRIVE
H:
cmd
è molto simile, tranne per il fatto che gli script nelle due risposte qui aggiornano correttamente le variabili di ambiente in cmd, ma non per powershell o gitbash.
Ho i privilegi di amministratore, ma è una macchina da lavoro, quindi alcune restrizioni si applicano ancora.
cd somewhere_useful
. Non ho mai usato Active Directory prima - significa che è un'impostazione gestita dai miei amministratori di rete?
%homedrive%
è una variabile di ambiente speciale che riflette l'homedrive dell'utente corrente come specificato in Active Directory. Non puoi cambiarlo. Se stai cercando di impostare una variabile, usa un nome diverso.