Consulta WMI, obtém informações locais do servidor remoto (para BgInfo)

2

Estou usando o BgInfo em um servidor Windows ao qual os usuários se conectam remotamente via RDP. BgInfo permite que você crie elementos personalizados com base em consultas WMI. Gostaria de mostrar o nome do host ou endereço IP local do usuário. Existe uma classe WMI que contém o nome de host local do usuário conectado remotamente? Caso contrário, existe outra maneira em BgInfo para obter essa informação?

    
por root 19.07.2018 / 15:22

2 respostas

2

Não é uma solução WMI, mas mais simples, se você executar o seguinte script no servidor enquanto estiver conectado via RDP, obterá o nome do host do computador remoto conectado por meio do RDP

@echo off

echo %CLIENTNAME%

exit

Na verdade, você não precisa de nenhum script, pois bginfo permite usar o campo personalizado. Vá para campos personalizados- > adicione um novo campo e escolha Environment variable e adicione variável = CLIENTNAME

    
por 25.07.2018 / 15:05
0

Até onde eu sei, o WMI não pode fazer isso. Você precisará usar a API do Win32, no PowerShell, por exemplo, e chamar diretamente o Função WTSQuerySessionInformation encontrado dentro de wtsapi32.dll , usando os parâmetros:

hServer = WTS_CURRENT_SERVER_HANDLE (null or 0)
SessionId = WTS_CURRENT_SESSION (-1)

Você pode encontrar um exemplo do PowerShell em funcionamento para chamar %código% neste serverfault answer , o que deve te ajudar a começar.

O item que você deseja recuperar é WTSQuerySessionInformation do Enumeração _WTS_INFO_CLASS , contendo "Uma string terminada em nulo que contém o nome do cliente", significando o nome do computador cliente. Como obtê-lo também é demonstrado no exemplo acima.

    
por 23.07.2018 / 21:33