Existe alguma maneira de recuperar uma variável de ambiente?

4

Eu instalei recentemente o openssh na minha máquina Windows 7. A instalação substituiu minha variável Path e eliminou todos os outros caminhos que eu uso na linha de comando. Eu provavelmente tenho 50 caminhos lá e vai me levar uma eternidade para lembrar de todos eles. Existe alguma maneira de recuperar essa variável antes da instalação?

Morgan Herlocker
fonte

Respostas:

15

Seu ambiente está no Registro e pode ser salvo como parte de um ponto de restauração do sistema . Você pode tentar reverter para o ponto de restauração anterior, mas ele pode reverter mais do que apenas a instalação do OpenSSH (por exemplo, talvez seja necessário reinstalar outro software).

Fran
fonte
7
+1 Para a Restauração do sistema ser a única ferramenta sensata a ser usada para isso. Além disso, acredito que, com a restauração do sistema, você pode "avançar" para um ponto de restauração depois de copiar as informações necessárias, para que o melhor processo seja criar um novo ponto de restauração, reverter, copiar o caminho e avançar novamente, o que deve resultar em poucas mudanças reais no seu sistema.
Mokubai
11
+1 na sugestão "avançar". Muito boa ideia.
Fran
@Fran Estou dando um voto positivo, porque também estou escrevendo uma resposta com base na extração do PATH do Registro e não quero que você sinta que roubei sua resposta. (Embora, se eu posso me gabar, a minha resposta é superior!)
2

Caso você não tenha nenhum ponto de restauração ou não queira passar por esse processo, a Microsoft fornece uma ferramenta chamada Process Explorer, com a qual você pode inspecionar o caminho no momento em que um processo foi criado.

Este método não funcionará se você reiniciou sua máquina, pois depende dos processos em execução antes da alteração da variável PATH.

  1. NÃO REINICIE SUA MÁQUINA
  2. Baixar Process Explorer da Microsoft
  3. Extraia-o em algum lugar e execute-o
  4. Clique duas vezes em um dos processos que estavam em funcionamento antes da perda de PATH
  5. Selecione a guia "Ambiente"
  6. Encontre PATH e copie-o (ele também copiará o nome da variável, portanto você precisará removê-lo)
  7. Cole-o na sua variável PATH.

Isso deve resolver. Lembre-se de que essas variáveis ​​PATH foram resolvidas, ou seja, você não terá% VARIABLE_HERE% no valor do caminho.

dosaki
fonte
11
Resposta inteligente! Ele se baseia no fato de que, quando um aplicativo é iniciado, ele faz uma cópia da variável PATH e a mantém até que o aplicativo seja fechado.
0

A PATHvariável de ambiente é armazenada no Registro do Windows em:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet00x\Control\Session Manager\Environment

... no Pathparâmetro ("x" em "ControlSet00x" é um dígito.)

Se o backup for feito como parte de um dos pontos de verificação da Restauração do sistema, você poderá extrair a cópia de backup sem restaurar o sistema para um ponto de verificação anterior! Para fazer isso:

  1. Navegue para C:\Windows\System32\Config. Prefiro fazer isso em um aplicativo como o Multi Commander, para não atrapalhar suas permissões de NTFS.
  2. Clique com o botão direito do mouse no SYSTEMarquivo. NÃO clique com o botão direito do mouse por engano em SYSTEM.LOG1 ou SYSTEM.LOG2
  3. Clique em Propriedades.
  4. Vá para a guia Versões anteriores.
  5. Restaure uma versão anterior desse arquivo, além de SYSTEM.LOG1 e SYSTEM.LOG2 em outro local do seu computador.
  6. Agora abra regedite vá HKEY_LOCAL_MACHINE.
  7. Selecione Arquivo-> Carregar Seção ...
  8. Dê o endereço do SYSTEMarquivo extraído e, em seguida, dê um nome de seção, como SYSTEM-old.
  9. Agora, encontre sua PATHvariável nesta nova seção.

    Você pode encontrá-lo em HKEY_LOCAL_MACHINE\SYSTEM-old\ControlSet00x\Control\Session Manager\Environment

  10. Assim que estiver pronto, desmontar a colmeia e excluir SYSTEM, SYSTEM.LOG1, SYSTEM.LOG2e vários .BLFe .REGTRANS-MSarquivos que o Windows tem feito para esses arquivos.

fonte