jueves, 30 de agosto de 2007

como compartir una carpeta desde línea de comandos.

jeje bueno esto a algunos les parecerá incómodo pero para la gente que tiene o estandariza instalaciones a lo mejor le es útil tener un bat con las carpetas típicas o simplemente quiere hacerlo por cojones desde la línea de comandos (PORQUE NO? yo lo hago :) ) BUENO AQUI VIENE NUESTRO AMIGO NET SHARE.

bueno para empezar probaremos de crear una carpeta que se llame PRUEBA (que original e? )

c:\>md prueba

y a continuación seguiremos con el gran NET SHARE.

c:\>net share prueba=c:\prueba /GRANT:usuario,FULL

AU ya tenemos la carpeta prueba compartida para el usuario "usuario" con acceso total, hay 2 opciones más que son READ, CHANGE imagino que no hace falta que lo traduzca no?

net share prueba /UNLIMITED

con este comando le decimos que pueden acceder infinitos usuarios, falso pero bueno nos lo creemos. YA TENEMOS LA UNIDAD COMPARTIDA PERO ADEMÁS LE VAMOS A PONER UN COMENTARIO AL RECURSO COMPARTIDO.

NET SHARE prueba /REMARK:"JATEMATE"

sI escribimos ahora solo net share nos aparecerán todos los recursos compartidos del equipo, y podemos comprobar que está todo ok.

Bueno hasta aquí hemos llegado hoy, hay mucho trabajo que hacer y poco tiempo para hacerlo todo al final me tendré que comprar una agenda para organizarme un poquito mejor :D

Saludos a todos,

martes, 28 de agosto de 2007

Script en vbs para cambiar la ip (funciona en windows vista y en windows xp)

Bueno como todos sabéis a parte de mi querida línea de comandos también hay otras formas de hacer las cosas, entre otras con vbs.

He recopilado en el siguiente script 2 scripts de technet 1 para cambiar la conf ip y otro para las dns. Espero que os sea de ayuda.

Abrid vuestro editor de texto favorito. copiais el contenido del script y lo guardais con extensión .vbs

------------ INICIO-----------------<strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colNetAdapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")

strIPAddress = Array("192.168.102.133")
strSubnetMask = Array("255.255.255.0")
strGateway = Array("192.168.102.254")
strGatewayMetric = Array(1)

For Each objNetAdapter in colNetAdapters
errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
If errEnable = 0 Then
WScript.Echo "La IP a sido cambiada correctamente."
Else
WScript.Echo "La IP no se ha podido cambiar."
End If
Next

Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colNetCards = objWMIService.ExecQuery _
("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")

For Each objNetCard in colNetCards
arrDNSServers = Array("192.168.102.2", "194.179.1.100")
objNetCard.SetDNSServerSearchOrder(arrDNSServers)
Next
-------------------- FIN --------->>> corta antes de esta línea.

Luego solo falta ejecutarlo con doble click o con cscript nombrefichero.vbs

y eso es todo amigos. Hasta la próxima

martes, 17 de julio de 2007

Vista y problemas con el correo _NO DESCARGA CORREOS EL WINDOWS MAIL ??????

Bueno, estoy disfrutando de mi nuevo portátil vaio sz5mn/b con mi vista businesssssss flamante de fashion colorines y demás, pero que sorpresa cuando me configuro la cuenta de correo del trabajo y tachan!!!!!!!!!!! empieza a descargar mensajes y empieza a darme errores del tipo -ERR IN USE UNABLE TO LOCK MAIL...... ETC ETC.

Tras mucho buscar mira por donde resulta que es una carácteristica que viene habilitada en windows vista llamada autotuninglevel bueno investigando un poco por internet encuentro varios links que hacen referencia a este problema y como resolverlo e increíblemente nuestro amigo NETSH puede ayudarnos.

Como desactivar la opción autotuninglevel:

1.- Buscar cmd-->botón derecho --> Ejecutar como administrador.
2.- Se nos abrirá nuestra querida consola.
3.- Ejecutamos: netsh int tcp set global autotuninglevel=disabled
4.- Aparece el mensaje "Aceptar".

En principio no hace falta reiniciar, o al menos a mi no me hizo falta pero bueno en caso necesario reiniciamos y probamos si tanto internet como la descarga de los mails es satisfactoria (en mi caso me funcionó perfectamente) en caso contrario dejaremos las cosas como estaban.

Realizaremos los pasos 1,2 y en el tercero ejecutaremos netsh int tcp set global autotuninglevel=normal

Bueno espero que os sirva de ayuda.

Os dejo otros enlaces que también hablan de distintos problemas relacionados con este autotuninglevel. ;)

http://es.ghacks.net/2007/04/27/copiar-archivos-grandes-en-vista-mas-rapido/

http://www.grupogeek.com/2007/04/27/autotuning-copiar-archivos-mas-rapido-en-vista/

http://www.howtogeek.com/howto/windows-vista/fix-problems-with-copying-large-files-in-windows-vista/

http://support.microsoft.com/kb/935400/es

Un saludo a todos,

viernes, 25 de mayo de 2007

Script con barra de progreso y en un cmd.....

Buenos os adjunto un script que ha mi particularmente me ha sido util y lo posteo aquí porque a parte de postearlo en el foro de elhacker creo que es lo bastante interesante como para postearlo también aquí.
---------- INICIO DEL SCRIPT -- CORTA A PARTIR DE ESTA LÍNEA ---------
:: Creado por Francisco Palenzuela Luque
:: Descripción
:: Hace un ping a todas las direcciones ip en el fichero lista.txt y crea un log
:: con la fecha y hora en que se realizó el ping incluyendo unicamente si el
:: ping fué erroneo.


@echo off
color 17
mode con lines=10 cols=59

FOR /F "tokens=1 delims=/ " %%a IN ('DATE /T') DO set diasemana=%%a
FOR /F "tokens=2 delims=/ " %%b IN ('DATE /T') DO set dia=%%b
FOR /F "tokens=3 delims=/ " %%c IN ('DATE /T') DO set mes=%%c
FOR /F "tokens=4 delims=/ " %%d IN ('DATE /T') DO set any=%%d


set fichero=%dia%%mes%%any%

if exist %fichero% (
goto pings
) else (
echo --[Hora]-- [Direccion IP] [Host] --[Mensaje]-->> %fichero%
echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>> %fichero% )


:pings
cls
echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³ Procesando Pings de servidores ³
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo 1234567890123456789
echo ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ

for /f "tokens=1,2 delims=|" %%p in (lista.txt) do (echo/|set/p ^=^Û&@ping %%p -n 2 | find "TTL">nul || @echo %time% -[ %%p ] - [ %%q ] - [ no responde ] >> %fichero% )

:fin
exit

---------- FIN DEL SCRIPT -- CORTA ANTES DE ESTA LÍNEA ---------

El kit de la cuestión esta en lo que he puesto en negrita. Lo encontre en un ejemplo en las news de microsoft y en ocasiones es útil.

Bueno ante la duda ya sabéis donde encontrarme.

PD: Utilizad el edit del DOS para editar y veréis el porqué de los los símbolos raros del script.

Salu2 a todos.

miércoles, 11 de abril de 2007

Procesos...

Bueno, mi intención es ir recopilando y mostrando la utilidad de la línea de comandos y del scripting en general. He preferido empezar explicando comandos y utilizades antes de entrar con otras cosas pero bueno seguimos con los comandos a ver que tal.

PROCESOS.
Bueno, el tema de los procesos es realmente interesante y útil. Siempre es bueno conocer como poder ver procesos activos, como eliminar los que deseemos, etc. Para empezar voy enumerar algunas herramientas que existen hoy en día para la línea de comandos, algunas son propias del sistema operativo y otras pertenecen a support tools, resource kits, o herramientas de terceros como son las archiconocidas pstools.

Empezamos:
Visualizar/mostrar procesos.
1.- tlist-> support tools
2.- pulist --> Resource kit tools de windows 2000.
3.- pslist --> Pertenece a las pstools.
4.- tasklist -> Nativa en windowsxp.
Eliminar y/o MATAR procesos
1.- Taskkill -> Nativa en windowsxp
2.- pskill --> Pertenece a las pstools.
3.- kill -> support tools

Como podéis ver no son pocas, aunque algunas tienen ventajas sobre otras, al menos en la cantidad de información que nos facilitan. Como es habitual podéis utilizar redirecciones para volcar la información a un fichero y revisarlo o compararlo con otro resultado. El funcionamiento de estas herramientas es muy sencillo, aunque como siempre aconsejo el /? para ver la ayuda que ofrecen.

Bueno de momento eso es todo por hoy, en la próxima entrada entraré un poco en detalle con cada una de las herramientas que os he comentado.

Hasta entonces SALU2.

martes, 10 de abril de 2007

Lectura de un fichero y algo más....

Bueno, hasta ahora hemos realizado cosas sencillitas ahora vamos a hacer algo un poquito más complejo.

Lo que os propongo es lo siguiente. ¿qué haríais si os encontráseis con que quereis controlar cada X minutos si Y servidores o Routers o Pc's o lo que queráis están activos, o sea con conexión?

Bueno yo os propongo hacerlo con un simple cmd que lea el contenido de un fichero y ejecute o realize algo con dicho contenido.

Bueno, empezaremos con el contenido del fichero.

Inicio -- lista.txt <--- No copiar esta línea copiar a partir de aquí.

192.168.0.1|pc1
192.168.0.2|pc2
192.168.0.254|routeradsl
192.168.0.10|serverweb
192.168.0.3|pc_luisa

Fin lista.txt <--- No copiar esta línea.

Bien en el fichero tenemos las ips y las descripciones de los equipos a los que queremos controlar si están conectados, apagados, o sin red.

Bien en este ejemplo usaré un comando que utilizaré bastante que se llama FOR, como siempre para obtener la ayuda detallada de dicho comando escribiremos FOR /?.

También utilizaremos el comando IF muy útil y poco aprovechado pero bueno poco a poco lo irémos viendo.

Bueno pasemos a la chicha.

DoPing.cmd
---------- Copia a partir de esta línea -----------
if exist resultado.txt del resultado.txt

for /f "tokens=1,2 delims=|" %%p in (lista.txt) do (@ping %%p -n 2 | @find "TTL">nul || @echo %time% -[ %%p ] - [ %%q ] - [ no responde ] >>resultado.txt )

start notepad resultado.txt

--------- FIN DE DoPing.cmd -----------------------

1.- Como podemos ver, lo primero que hacemos es comprobar si existe el fichero resultado.txt y si existe lo eliminamos con el comando DEL.

2.- El comando For es algo más complejo, no quiero entrar demasiado en detalles, en principio lo que hace es definir que hay 2 valores por línea y que están separados por el símbolo "|", %%p es el valor 1 o sea token 1 y le decimos que lo tiene que coger del fichero lista.txt especificado arriba.
3.- Lo siguiente que hace es para cada 1 valor realiza un ping y busca en el resultado del ping el valor TTL.
4.- eL || significa que si el comando previo a fallado osea que el find no ha sido correcto ejecutará el echo y añadirá el parámetro hora (time) %%p = ip(token1) %%q(descripción - token2) y añadirá el resultado al fichero resultado.txt

Y por último lo que hace es que nos muestra el contenido del fichero en el notepad.

Bueno, esté miniscript es útil si deseamos por ejemplo crear una tarea programada cada X minutos y que nos guarde un registro. Para que esto funcione deberíamos quitar la primera y última línea y cada vez que se ejecute el script se irá añadiendo al fichero y luego nosotros con tranquilidad podemos examinarlo.

Bueno hay queda eso, si hay alguna duda u error........

lunes, 19 de marzo de 2007

Configurar ip desde línea de comandos.

De todos es sabido (o no) que existe en XP una utilidad preciosa llamada netsh. Bueno pues os pongo un script para configurar la ip, dns, puerta de enlace.

Espero que os guste:

uso: confip.bat 192.168.0.1 255.255.255.0 192.168.0.254 194.179.1.100

--------- No copies esta línea ----------
@Echo OFF
echo [requerido] Primer parametro %1 es para ip estatica.
echo [requerido] Segundo parametro %2 es la mascara de red.
echo [requerido] Tercer parametro %3 es la puerta de enlace.
echo [opcional] Cuarto parametro %4 es el servidor dns primario
If [%1] == [] GOTO QUIT
If [%2] == [] GOTO QUIT
If [%3] == [] GOTO QUIT
echo Starting %0
Echo ....................Configurando IP address en Conexi¢n de rea local a %1 con NetMask %2
netsh interface ip set address name="Conexi¢n de rea local" source=static addr=%1 mask=%2
Echo ....................Configurando Gateway en Conexi¢n de rea local a %3
netsh interface ip set address name="Conexi¢n de rea local" gateway=%3 gwmetric=1
If [%4] == [] GOTO QUIT
Echo ....................Configurando DNS en Conexi¢n de rea local a %4
netsh interface ip set dns name="Conexi¢n de rea local" source=static addr=%4 register=primary
GOTO QUIT

:QUIT
ECHO ON

Si tenéis alguna pega pues nada la ponéis en comentarios.

Saludos,

miércoles, 14 de febrero de 2007

pipes

Hoy voy a poner un pequeño ejemplo de como hacer un pipe (tuberia).
El ejemplo es muy sencillo pero servirá para que la gente entienda el funcionamiento.
Empezamos:

ejemplo1: abrimos una consola y ejecutamos: c:\>ping 192.168.112.130 -n 1 |find "TTL"
La ip es la de un equipo de la red de mi casa pero se puede probar con www.google.es etc.

Como podemos ver hemos ejecutado el comando ping y le hemos pasado el resultado a find para que busque el valor TTL. Si hubiesemos realizado el comando ping a una ip que no existiese en la red no nos habría devuelto por pantalla nada.

Como se puede observar el comando find solo muestra las líneas que coinciden con el parámetro de busqueda en nuestro caso "TTL"

Pero ahora vamos a enrevesar esto un poquito más, imaginaos que quiero que en el segundo caso si no existe el parámetro de busqueda "TTL" me muestre por pantalla "no hay conexión".

Esto sería algo así como: c:\>ping 192.168.112.112 -n 2 | find "TTL" echo "no hay conexión"

esto significa que el ping redirecciona su salida al find y la salida del find que NO ES CORRECTA la redirecciona al echo.

Veamos el ejemplo en acción.

C:\>ping 192.168.112.112 -n 2 |find "TTL" echo "no hay coneion"

"no hay conexion"

No he puesto un pantallazo porque me es incómodo, y estoy perezoso.

Bueno esto es un poquito como funciona el Pipe. Otro día más.





martes, 13 de febrero de 2007

Secuencias de comandos para profesionales de IT que no saben escribir códigos

Este ITSHOWTIME está realmente genial, la pena es que esté en inglés, recomiendo a todos que le echeis un vistazo.

http://www.microsoft.com/spain/technet/itsshowtime/sessionh.aspx?videoid=214

Excelente la exposición de Corey Hynes.

Saludos,

suspension del curso

De momento, estoy viendo que existen multitud de webs con cursos de este tipo, voy a suspenderlo ya que es rebundante que existan tantos cursos iguales por hay.

Saludos,