Buscar IP's y Apagar PC's en BATCH!!!

Iniciado por Hendrix, 15 Enero 2006, 18:39 PM

0 Miembros y 3 Visitantes están viendo este tema.

DrakoX

gracias por la explicación,

igual ahora me acuerdo de como era la cosa.

podria intentar hacer un programa en VB
para meterte en la pc,
la parte q se me complicaria es como hacer para verificar si exite un 20.

si sabes como hacer esto de una forma fácil y sensilla decime.

salu2

Casidiablo

Hola Punk-rock.

Si te haz dado cuenta, no comparto vuestra idea con respecto al virus ese. No lo tomes personal, solo que no me parece bueno emplear los conocimientos en cosas malas... LAMMERADAS.

Es solo un consejo. Se que tienes los medios y las ganas de aprender, y hasta podrías llegar a ser un hacker, pero el camino que estás tomando no es el más adecuado.

Un link que podría ayudarte: ¿Puedo ser un lammer sin saberlo?

De todas formas, si sigues con la idea esa, pues no importa. De igual forma aquí hay mucha gente que te puede resolver dudas sobre Visual Basic y programación.

Un saludo.

Hendrix

El verdadero valor que le veo yo a este programa es el buscador de IP's....porke kuando lo tienes puedes hacer diversas kosas....yo e kambiado de idea y e echo un escaneador de IP's para NetBios en batch y funciona de maravilla....

Weno, Un Saludo!!

Hendrix

PD: Podeis cerrar el tema...ya sta todo solucionado...
"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

Casidiablo

Cita de: Punk-rock en 18 Enero 2006, 22:42 PM
El verdadero valor que le veo yo a este programa es el buscador de IP's.

Esto es lo único que le veo de bueno. En fín...

Un saludo.

CrowDat

#14
Buenas,
opino que eso de un virus que vaya apagando los PCs por amor al arte, es una autentica tonteria ya que si fuera apagado el PC solo hay que volver a encenderlo, y si el usuario está delante, solo tiene que poner shutdown -a y abortaria este proceso.

Sobre la siguiente afirmacion:

CitarEsto tampoco te sirve.... para que sirva tiene que tener en lugar de <00> (o el numero que sea) tiene que tener: <20>....Si tiene 20 tienes acceso a la makina por NetBios....

Solo indicar que <20> es cuando hay recursos compartidos y por lo tanto se puede entrar por netbios a los mismos, pero siempre existen en los Windows de arquitectura NT (nt,2k,xp,2k3) los recursos administrativos ipc$ , admin$ y c$ , d$ , etc..

Solo con tener activados los recursos administrativos por defecto ya se puede conectar al ipc$ y admin$ para hacer un psexec, psshutdown o cualquier otro proceso remoto.

Por otra parte, el tener un bath script para la tarea de apagar masivamente los PCs es util en grandes redes corporativas donde los trabajadores segun acaban su jornada de trabajo, apagan el monitor (o ni siquiera) y se van, tan felices, dejando el PC ahi encendido.

Cuando son mas de 700 PCs, eso es un consumo electrico bastante importante, por lo que se puede programar que a cierta hora se haga un apagado masivo de PCs en el rango de IPs donde estan los PC de los trabajadores (los servidores ni tocarlos..)

Dejo a continuacion un pequeño script que tengo para esta tarea, utiliza la utilidad psshutdown de las pstools.

Primero hace ping a las ips del rango especificado, en el caso de obtener respuesta intenta hacer el shutdown, si tiene deshabilitado ipc$ y/o admin$ dará error , reportando este error al final en una lista de PCs apagados correctamente o si ha habido error.

Se puede poner que solicite usuario y contraseña modificando un poco el codigo, sino asume el usuario actual, por lo que debe tener privilegios (Domain Admin por ej..)

Para los que miren el codigo.. al hacer la comparacion de ips, si se hace directamente por el string completo no compara tal cual si una ip es mayor que otra y puede dar errores, por lo que opté por poner la ip en formato longip, pero dependiendo que rango, puede dar problemas por ser un numero excesivamente grande, asi que la conversion a longip esta modificada multiplicando a 64 cuando realmente tendria que ser a 256.

shtdwn.bat
@echo off
If %1'==/?' Goto ayuda
If %1'==' Goto ayuda
If %2'==' Goto ayuda
If Not %3'==' Goto ayuda
goto Empieza
:ayuda
echo.
echo ------------------------------------
echo LAN massive pc shutdown
echo by
echo CrowDat Kurobudetsu
echo ------------------------------------
echo.
echo Usage:
echo.
echo %~n0 IPstart IPend
echo.
echo Example:
echo %~n0 10.10.0.1 10.10.15.255
echo.
goto :EOF

:Empieza
set vuelve=Empeza2
set calc=%2
goto conv

:Empeza2
set /a longip2=(64*64*64*%a%)+(64*64*%b%)+(64*%c%)+%d%
set vuelve=Empeza3
set calc=%1
goto conv

:Empeza3
set /a longip=(64*64*64*%a%)+(64*64*%b%)+(64*%c%)+%d%

If "%longip%" GEQ "%longip2%" goto END
echo  Results > results.txt
echo ---------- >> results.txt
echo Pinging ...

:d
If %d% EQU 255 goto c
echo %a%.%b%.%c%.%d% ...
ping -n 1 -w 500 %a%.%b%.%c%.%d%  > nul
set rsp=%errorlevel%
set ip=%a%.%b%.%c%.%d%
set vuelve=d2
set calc=%ip%
goto conv

:d2
set /a longip=(64*64*64*%a%)+(64*64*%b%)+(64*%c%)+%d%
If %rsp% EQU 0 Goto cambia
If %rsp% GEQ 1 echo %ip% [Down] >> results.txt

:sigue
If "%longip%" GEQ "%longip2%" goto end
set /a d+=1
goto d

:cambia
set ip=%a%.%b%.%c%.%d%
echo psshutdown -f -r -t 0 \\%ip%
goto sigue

:fallo
echo %ip% [Fail] >> results.txt
goto sigue

:c
set /a c+=1
set d=0
If "%c%" EQU "255" goto b
goto d

:b
set /a b+=1
set c=0
If "%b%" EQU "255" goto a
goto d

:a
set /a a+=1
set a=0
If "%a%" EQU "255" goto end
goto d
goto end

:END
echo.
echo.
type results.txt
echo.
set a=
set b=
set c=
set d=
set ip=
set rsp=
set vuelve=
del results.txt >nul
goto :EOF

:conv
FOR /F "TOKENS=1,2,3,4 DELIMS=." %%F IN ('echo %calc%') DO (set /a a=%%F & set /a b=%%G & set /a c=%%H & set /a d=%%I)
goto %vuelve%


Saludos.

Casidiablo

Cita de: CrowDat en 19 Enero 2006, 15:54 PM
Por otra parte, el tener un bath script para la tarea de apagar masivamente los PCs es util en grandes redes corporativas donde los trabajadores segun acaban su jornada de trabajo, apagan el monitor (o ni siquiera) y se van, tan felices, dejando el PC ahi encendido.

Cuando son mas de 700 PCs, eso es un consumo electrico bastante importante, por lo que se puede programar que a cierta hora se haga un apagado masivo de PCs en el rango de IPs donde estan los PC de los trabajadores (los servidores ni tocarlos..)

En ese instante ya dejaría de ser un lammerada... y ya sería un buen proyecto. Gracias por el aporte.

Unn saludo.