Em suma: minha variável de ambiente PATH às vezes só está disponível em uma sessão elevada, outras vezes está tudo bem; Como posso descobrir o que está corrompendo para sessões não administrativas e impedir que isso aconteça no futuro?
Por exemplo, eu inicio cmd.exe (ou um prompt do PowerShell) e tento pingar um servidor e recebo a temida mensagem 'ping' is not recognized as an internal or external command, operable program or batch file.
. Se eu tentar o caminho completo para o ping, ou seja, c:\windows\system32\ping.exe
, funciona muito bem.
O problema é que meu PATH está vazio. A saber:
C:\Users\matt>set path
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
C:\Users\matt>path
PATH=(null)
Se eu abrir um prompt elevado (ou seja, clicar com o botão direito do mouse e "executar como administrador"), tudo funcionará bem e minha variável PATH será a esperada.
Eu já sei sobre o limite de 2047 caracteres para o comprimento do caminho. Na verdade, isso foi originalmente meu problema e, desde então, corrigi-lo. Mas ainda tenho problemas intermitentes com um caminho nulo para sessões não elevadas. Sessões normais às vezes funcionam e às vezes falham, mas uma sessão elevada sempre funciona.
Matar o processo explorer.exe e reiniciá-lo através do Gerenciador de Tarefas, às vezes, redefine o caminho para sessões normais, mas outras vezes eu tenho que reiniciar completamente.
Isso acontece várias vezes por semana. Eu não encontrei nenhuma arma fumegante nos registros de eventos, nem mesmo qualquer coisa suspeita, e é difícil adivinhar o que pode estar causando o problema, já que não vou necessariamente notar quando isso acontece.
Este computador é membro de um domínio, se isso faz diferença.
Como posso monitorar minha variável PATH e detectar qual processo e / ou programa está modificando-a? Não parece ser uma alteração persistente, já que a entrada do registro não é afetada, mas algo é claramente arruiná-lo para sessões não administrativas em uma base semi-aleatória e eu estou sem ideias para estreitar ainda mais a causa raiz.