Título: Ayuda con script de pruebas: ping, telnet, acceso a recurso compartido Publicado por: Novasef en 23 Agosto 2015, 20:34 pm Buenas tardes,
A ver si podéis echarme un cable, mis conocimientos de programación son tirando a nulos, me gustaría ir aprendiendo con los tutoriales que estoy viendo por aquí y tal. Os comento, en mi empresa estamos desplegando un software remotamente. En caso de fallo nos piden comprobar lo siguiente: - Que hagan ping, obviamente. - Que sean accesibles por telnet en los puertos 135 y 445. - Que puedan acceder al recurso administrativo con el usuario que usamos para desplegar. Hasta que me he incorporado yo hacían esto manualmente por cada IP, que me parece un trabajo de chinos. Me he copiado chapuceramente unos scripts que he pillado por ahí. Lo que me gustaría conseguir con ellos es que me saque unos logs fácilmente exportables a Excel por cada prueba. //////Este es el script que hace el bucle y las llamadas. Por cierto, ni siquiera sé si todo esto puede estar cómodamente en un solo script o es mejor en varios. ECHO ON IF EXIST PINGLOG.LOG del PINGLOG.LOG FOR /F "eol=; tokens=1 delims=" " %%i in (ips.txt) do call PONGOELSCRIPTMANUALMENTE %%i TYPE PINGLOG.LOG ////Script para el ping. Aquí en principio no tengo problemas, sólo quiero un OK o un “no llega”. ECHO OFF ping %1 -n 1 > nul IF ERRORLEVEL 1 GOTO dead IF ERRORLEVEL 0 GOTO alive :dead ECHO %1 NO RESPONDE >>PINGLOG.LOG GOTO end :alive ECHO %1 OK >>PINGLOG.LOG GOTO end :end /////En el caso del acceso al recurso, uso net use sin asignar unidad y me devuelve “completed succesfully” o distintos mensajes de error. El tema es que me gustaría guardar los códigos de error en el log, de forma que queden en una misma línea con la ip y separados por algún símbolo para Excel reconozca las columnas. Lo único que se me ocurre es conseguir guardar el mensaje de error o por lo menos la primera línea con el código de error, en una variable string a la que pueda eliminarle los saltos de línea y luego le pueda hacer un echo junto a la IP. Lo he intentado pero no acabo de conseguirlo. Ahora mismo lo máximo que consigo es que el error me salga debajo de la ip y en varias líneas. ECHO ON ECHO %1 >> errorrecurso.txt NET USE \\%1\C$ anonimo.hie /user:anonimo.hie 1>> errorrecurso.txt 2>>&1 :end En el caso del telnet sólo tengo la línea que conecta. La mayoría fallan pero cuando conecta uno, se para el script. De momento separo las ips que conectan manualmente. Me gustaría saber cómo salir de telnet y volver al script obteniendo simplemente “OK” o “NO ACCEDE” en un fichero. El resultado ideal sería un único log que mostrara, separado por tabulaciones algo así: 10.161.90.12 PING SI/NO TELNET 135 SI/NO TELNET 445 SI/NO ACCESO A RECURSO SI/Mensaje de error sin salto de línea Supongo que esto debe ser pan comido, pero hace años que no toco programación y se me atraganta, espero que alguno me podáis echar un cable. Saludos. |