jueves, 16 de marzo de 2017

Comandos de Supervivencia en Windows Server

Debido a mi actual trabajo, en los últimos años he tenido mas acercamiento a Windows Server y definitivamente no fue tan fácil ya que te acostumbras a tus herramientas GNU que cuando te lo cambian es como volver a empezar casi desde cero.

Dicho lo anterior, les traigo el siguiente listado de comandos de supervivencia básica que he documentado en los últimos años para Windows Server 2003, 2018 y 2012 (No powershell).

Problemas con Remote Desktop

Cuando he tenido problemas para ingresar por remote desktop, algunas veces reiniciando el servicio de Remote Desktop o terminal services logramos volver a ingresar al servidor. A continuación muestro como el proceso su no se presenta ningún problema.

sc \\IP_ADDRS STOP TERMSERVICE
sc \\
IP_ADDRS START TERMSERVICE 

Si por alguna razón el servicio se queda en status de "STOPPING" al momento de detener el servicio aun podemos matar el proceso usando fuerza bruta, primero debemos conseguir el identificar del proceso, luego matar el proceso y despues iniciar el servicio.

sc \\
IP_ADDRS queryex termservice
taskkill /s
IP_ADDRS /u Administrator /PID
sc \\
IP_ADDRS START TERMSERVICE



Ahora supongamos que tenemos un servidor en otra ciudad a 300km de distancia y no podemos ingresar al sistema operativo por remote desktop, el servidor no tiene configurada o simplemente no tiene una interface de  administración como la iLO o el IMM y tampoco contamos con un ingeniero en sitio. Despues de agotar varias opciones solo queda intentar el reinicio remoto y espera que levanta bien todo el sistema operativo y escritorio remoto. Con el siguiente comando se nos muestra un cuadro de dialogo para reiniciar uno o varios servidores.


shutdown /i




Sesiones de usuarios y terminal services.
Por default windows server acepta dos usuarios simultáneos por remote desktop, si alguien quiere mas usuarios simultáneos debe comprar licenciamiento. En windows server 2003 muchas veces llegamos a tener problemas para ingresar ya que una sesion iniciada y no cerrada impide que alguien mas ingrese. La manera de ver que usuarios no cerraron bien su sesion y cerrarles la misma es con los comandos qwinsta y rwinsta.

qwinsta /server:IP_ADDRS

La tercer columna nos muestra el identificador de sesion, con este identificador podemos finalizar una sesion.

rwinsta /server:
IP_ADDRS 3




Puertos de red abiertos

En todo momento resulta útil conocer que puertos están abiertos en el sistema, pero resulta mas útil conocer que procesos abrieron cada puerto.

#Conexiones establecidas y el PID que lo atiende
netstat -oan

#Puertos abiertos en modo LISTENING
netstat -an | find /i "listening"


Depuración de espacio en disco

Aunque siempre es posible depurar usando herramientas como ccleaner y remover aplicaciones que ya no usamos, existen unos directorios asociados las actualizaciones y services packs del sistema operativo. Estos deben ejecutarse como administrador.

#Archivos viejos de Service pack anteriores ya no usados
Dism /online /cleanup-image /spsuperseded
#Archivos viejos de actualizaciones ya no usados.
Dism /online /Cleanup-Image /StartComponentCleanup       

Para el caso de que tengamos archivos muy viejos que ya no se usan podemos borrarlos, colocandonos en el directorio donde se encuentran todos esos archivos, ejecutamos el siguiente comando donde borrariamos todos los archivos con antigüedad mayor a 45 días. Esto resulta ideal para una aplicación que escribe logs diariamente.

forfiles /m *.* /d -45 /c "cmd /c del @file"


Windows Update, reinicio no programado

Si por alguna razón se nos quedaron los windows update encendidos configurados para actualizarse de manera automática, muy probablemente nos reiniciara el servidor sin darnos cuenta hasta afectar alguna plataforma de la empresa. La recomendación es controlar estas actualizaciones, permitiendo que se descarguen o no pero lo mas importante es que seamos nosotros quienes definamos el momento en que estas se realizan. Una manera de evitarlo, es decir, cancelar el reinicio automatico de windows server podemos dar de baja el servicio como se indica:

sc stop wuauserv


Información rapida de usuarios en dominio

Si queremos conseguir informacion mas rapida de un usuario de dominio sin ingresar al domain controller o sin tener instalado la aplicacion de Active Directory, podemos consultar de la siguiente manena

net user /DOMAIN USERNAME


Ligas simbólicas
Confieso que esto me sorprendió mucho, nunca pensé que en Windows se podría crear ligas simbólicas dentro de la misma unidad de disco o incluso hacia otro volumen. Esto puede resultar útil cuando el volumen no viene de una SAN y no se puede crecer. Una solución puede ser agregar mas disco local y con una liga simbólica escribir en el nuevo disco local añadido. Con el parametro /D definimos la liga simbólica y usamos rutas absolutas para el origen como el destino.


mklink /D c:\dell\logs e:\dell\logs


Uptime

Si queremos saber desde cuando esta corriendo un windows server podemos ejecutar el comando siguiente y ver la parte de "Statistics Since".

net stats server

jueves, 23 de febrero de 2017

Nuevo proyecto - Anuncios en Mexico - www.anunciosenmexico.com.mx

Hace unos días acabo de iniciar un nuevo proyecto, el cual consiste en un sitio de anuncios gratuitos. Dada la situación económica de México en los últimos años creo que un gran volumen de la población tiene necesidad de vender y buscar productos con precios atractivos.

Queda a su disposición el sitio:
www.anunciosenmexico.com.mx