Script VB ou Batch para obter o endereço MAC de dispositivos Windows CE remotos

0

Estou tentando escrever um script em vb para abrir uma sessão de telnet para um dispositivo Windows CE7 remoto de um laptop com Windows 7 para obter a saída de ipconfig / all para um arquivo de texto e anexar o conteúdo desse arquivo de texto para um log. Até agora, só consegui fazer isso executando o script vb e, em seguida, executando um script ftp para recuperar o log do dispositivo. Eu não descobri como obter o conteúdo desse arquivo copiado em um arquivo de log principal.

Este é o meu script vb:

Set OBJECT = CreateObject("WScript.Shell")
OBJECT.run"cmd"
WScript.Sleep 800

OBJECT.SendKeys"telnet ipaddress" OBJECT.SendKeys("{Enter}") WScript.Sleep 800

OBJECT.SendKeys"admin" OBJECT.SendKeys("{Enter}") WScript.Sleep 800

OBJECT.SendKeys"admin" OBJECT.SendKeys("{Enter}") WScript.Sleep 800

OBJECT.SendKeys"ipconfig /all >> somelog.log" OBJECT.SendKeys("{Enter}") WScript.Sleep 800

OBJECT.SendKeys"^]" WScript.Sleep 800 OBJECT.SendKeys"quit" OBJECT.SendKeys("{Enter}") WScript.Sleep 800 OBJECT.SendKeys"exit" OBJECT.SendKeys("{Enter}")

Eu então executo um arquivo de lote que executa um arquivo ftp:


open 172.16.24.45
admin
admin
get "sendkeys.log"
close

Adoraria automatizar todo este processo e executá-lo com 1 ficheiro. Qualquer ajuda é muito apreciada.

    
por Bob 22.08.2013 / 23:30

1 resposta

0

Os seguintes comandos devem fazer o que você está pedindo. Copie e salve-os em um arquivo .bat ou .cmd. Observe que qualquer nome de arquivo cercado por <> deve ser substituído pelos nomes de arquivo reais do seu sistema, não insira o < ou > no script, ou resultados indesejados acontecerão.

cscript.exe //nologo <vbsendkeys_script.vbs>
call <ftpget.bat>
copy <masterlog.log> + sendkey.log mastertemp.log
del <masterlog.log>
ren mastertemp.log <masterlog.log>

O cscript.exe é o host de script de linha de comando para windows. Ele irá executar o .vbs que você especificar e os resultados de saída (se houver) na linha de comando.

Call é usado para executar outro arquivo em lotes e, em seguida, retornar a execução ao arquivo em lote original (chamando). Sem usar call , os dois arquivos em lote terminariam após o segundo ser executado.

O restante dos comandos copia o sendkey.log para o final do registro principal e faz alguma renomeação e limpeza.

    
por 25.09.2013 / 23:57