Categorias

Pegar Variáveis de Ambiente do Windows via ASP

Com esta função é possível resgatar as variáveis de ambiente do Windows (Environment Variables) existentes no servidor onde este código irá rodar.

Estas variáveis de ambiente são as mesmas acessíveis com o comando SET na janela do “Prompt de Comando”.

Para obter a lista de variáveis de ambiente padrões disponíveis visite a página: https://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/7544483a-b1b3-4b00-bb0e-0d260f1b099a.asp

<%
'=======================================================
'Nome: getEnviromentVariable(ByVal Variavel, ByVal TipoEV)
'Tipo: Funcao
'Sinopse: Retorna o valor de uma Variável de Ambiente 
'          do Servidor de acordo com o tipo
'Parametros:Variavel: Nome da variável de ambiente
'            TipoEV: Tipo de variável de ambiente, pode 
'                    ser: SYSTEM ou PROCESS, o default é
'                    SYSTEM
'Retorno: String
'Autor: Gabriel Fróes - www.codigofonte.com.br
'=======================================================
Function getEnviromentVariable(ByVal Variavel, ByVal TipoEV)
    'Declarando variáveis
    Dim ValorVariavel
    Dim objVariavel
    
    'Verificando se foi passado o tipo
    TipoEV = Ucase(Trim(TipoEV))
    If TipoEV <> "PROCESS" Then
        TipoEV = "SYSTEM"
    End If
    
    'Criação de objetos
    Set objWSShell    = Server.CreateObject("WScript.Shell")
    
    'Pegando a variável de ambiente
    Set objVariavel    = objWSShell.Environment(TipoEV)
    ValorVariavel    = objVariavel(Variavel)
    
    'Retornando a função
    getEnviromentVariable = ValorVariavel
    
    'Destruindo os objetos
    Set objVariavel = Nothing
    Set objWSShell    = Nothing
End Function
%>

<%
'Exemplo de Utilização
Response.Write "WINDIR: " & getEnviromentVariable("WINDIR", "PROCESS")
%>