Executar o comando no servidor Windows remoto e adicionar resultados a um arquivo de texto

0

Estou tentando encontrar a versão instalada de um software em vários servidores (800 +).

O comando é: "dsmqver -f 2", que retorna a saída como "Version: 7.5.0.2"

Eu tenho tentado automatizar o processo com o PsExec da sysinternals, mas não consigo obter a saída que desejo.

Atualmente meu comando é assim:

PsExec.exe @servers.txt -u myDomain\myUsername -p myPassword dspmqver -f 2 >>results.txt

Ele é executado pelos servidores listados no arquivo servers.txt e executa o comando - essa parte funciona, mas a saída é classificada de maneira inútil.

Um exemplo do outpput é:

Version:     7.5.0.2
Version:     7.5.0.4
\server1:
\server2:
\server3:

O problema é que o servidor2 não tem o MQ instalado e está offline. Na saída, não posso dizer quais servidores têm o software instalado e quais não estão ou se o servidor está on-line.

Existe uma maneira mais inteligente de fazer coisas assim?

Atenciosamente

Rasmus

    
por RazziaDK 04.11.2015 / 12:05

1 resposta

0

Você deseja agrupar isso em um comando em lote.

pseudocódigo:

For server in serverlist{
 status = PsExec.exe - args
 echo %server% status is %status%
}

Em seguida, execute thisFile.bat > > logfile.txt e você deve obter uma pequena lista como

Server 1 is Version:     7.5.0.2
Server 2 is Version:     7.5.0.2
Server 3 is 
Server 4 is Version:     7.5.0.2  and so on
    
por 04.11.2015 / 12:12