Archivos de la categoría ‘IT’

Quick post #1 – SQL Querys

Publicado: octubre 23, 2013 en IT, SQL

Ayer tenía que cambiar el recovery model de 303 bases de datos de SQL, con el fin de ahorrar espaci en disco, y teniendo en cuenta que hacemos backup todas las noches y en caso de tener problemas restauraríamos el backup y no nos es necesario restaurar un punto exacto, decidimos cambiar el recovery mode a simple para todas las bases de datos.

Actualmente ya había unas en mode Simple, pero había muchas otras en modo Full.

Así que me puse en la tarea de buscar un query que me liste el recovery mode de cada base de datos y aquí está:

SELECT name, DATABASEPROPERTYEX(name, ‘Recovery’)
FROM master.dbo.sysdatabases
ORDER BY 1

Finalmente sólo me tocó cambiar la configuración de 80 bases de datos (y hacer un shrink de los logs)

🙂

Fuente: SQL Server Performance Forum

Cuando se instala Exchange 2007, el servidor genera automaticamente un certificado firmado por el mismo servidor, por defecto este certificado se utiliza en los servicios de transporte (SMTP), POP, OWA (IIS), Exchange Web services e IMAP.

Tambien esta configurado por defecto con fecha de caducidad de un anio a partir de la instalaciéon de Exchange o a partir de la fecha de renovación del mismo (ojo que no es el mismo caso para los certificados emitidos por una entidad certificadora).

Para verificar el estado de un certificado usando el shell de Exchange podemos utilizar el cmdlet Get-ExchangeCertificate |FL


Como se ve en la imagen, el certificato fue válido hasta el 14 de julio de 2012 y es válido para los servicios IMAP, POP, IIS y SMTP. Como ya no es válido, procedemos a recrear un nuevo certificado a partir de la firma (thumprint) del certificado actual:

Get-ExchangeCertificate –Thumbprint «E37DDB7680B5089AA79DBB20EB00F5B6CE67AA1E» | New-ExchangeCertificate

El momento de solicitar la creación del nuevo certificado, el sistema nos pregunta si queremos utilizar este tambien para el Servicio SMTP, dependiendo de la configuración respondemos si o no, sin embargo, como hay algunos conectores SMTP específicos estos conectores no utilizaran el nuevo certificado, de ahí el warning.

Luego de esto, verificamos que el nuevo certificado haya sido creado, utilizando el nuevo Thumbprint (firma) con el mismo comando utilizado inicialmente:

Get-ExchangeCertificate -Thumbprint «B5BCC764A73B9FAA33E2DC2FD68E983A08C84A3E» |fl

Luego sólo nos queda verificar que todo funciona como debe ser…

Mirando bien el resultado (en OWA), podemos darnos cuenta, que aunque el certificado fue creado sin problemas, solo fue asignado a los servicios IMAP, POP y SMTP.

Ingresando al OWA, podemos ver que el certificado utilizado por el IIS es aún el viejo, lo podemos ver en la imagen, ya que aparece el mensaje «El certificado no es válido o ya expiró», por lo tanto procedemos a asignarlo también al servicio IIS con el comando:

Enable-ExchangeCertificate -Thumbprint «B5BCC764A73B9FAA33E2DC2FD68E983A08C84A3E» -Services IIS

Probamos nuevamente el navegador, y todo solucionado, el mensaje de expiración ya desapareció, solo restan los dos mensajes que son normales para el caso de un certificado Autoformado (Self-Signed)

Luego podemos proceder a borrar los certificados que no utilizamos con el comando:

Remove-ExchangeCertificate –Thumbprint “firma del certificado a borrar”

Espero les sirva, a mi me va a servir (sigo teniendo memoria de pollo)

Pecuecas.

Créditos http://speedmaxpc.com Nosotros los que trabajamos en informática a veces nos encontramos con las BSOD (Blue Screen of Death) el nombre lo dice todo, no es agradable encontrarse con eso y normalmente para el usuario no experimentado -y a veces para los muy experimentados – es díficil deshacerse de ellas.

Normalmente suele ocurrir después de instalar un dispositivo nuevo con unos drivers  mal desarrollados, o programas pobremente depurados.

Para usuarios caseros, o aún en servidores «normales» es fácil saber de donde viene, si se recuerda el nuevo dispositivo que se instaló o si ésta aparece justo después de corerr un programa. Pero que ocurre cuando empezamos a obtener estas pantallas en un ambiente multiusuario?

Pues hace poco me pasó, en un servidor Windows 2008 R2 con el rol RDP instalado. Y vaya lío..

Yo estaba de vacaciones, y me enviaron un correo solicitando ayuda, lo único que se me vino a la mente fué que hacía poco yo había agregado unos gigas de RAM en el servidor y tuve algunos errores de paridad que se arreglaron limpiando las barras de memoria y cambiándolas de slots (sin embargo lo tenía presente por si algo ocurría).

Durante mis vacaciones, el buen soporte de IBM al no encontrar una razón válida cambió Motherbard, Memoria, Procesador y nada arregló el problema. Finalmente uno de los usuarios confeso que otro proveedor había hecho una actualización de software sin consultarnos.

Después de dos semanas, un poco por descarte, y mucho debido a la confesión del usuario, mis colegas estaban sospechando de aquella actualización.

El proveedor «hizo» los cambios necesarios, y nosotros solicitamos que hicieran las pruebas correspondientes y al parecer todo había mejorado.

Pero el lunes pasado, el servidor nuevamente se reinició con una pantalla azul (así creo que la llamamos en español). El proveedor decía que los cambios ya fueron hechos y que su programa ya no era el culpable, así que me puse en la tarea.

Primer paso: Descargar las herramientas de depuración de Windows (Debbuging tools for Windows) desde el sitio oficial de Microsoft –aquí – buscar la version que corresponda e instalarlas.

Segundo paso: buscar y descargar los símbolos específicos para el sistema operativo, que se pueden encontrar aquí, e instalarlas (esto se puede hacer automáticamente, pero esto lo veremos más adelante)

Tercer paso: Cargar el archivo de vaciado de memoria (más conocido como memory dump)

Cuarto paso: El análisis. que es el más complicado, si los símbolos corresponden, será algo más sencillo.

Sin embargo, a mi me gusta hacer las cosas mucho más sencillas todavía. Después de moverme un poco encontre un programa que se llama debugwiz, se puede descargar aquí (a propósito, buen foro, recomendado), lo bueno de este programa, es que se encarga del segundo paso en adelante…

Por ejemplo, el mismo programa se encarga de descargar los símbolos adecuados desde el sitio de Microsoft con el comando «SRV*c:\symbols*http://msdl.microsoft.com/download/symbols»

Para configurarlo hay que asegurarse de seleccionar la opción avanzada y especificar la ruta del executable cdb.exe (que pertenece a las herramientas de depuración de Windows), en mi caso, en éste computador -diferente al servidor que tenía el problema- apunta a: «C:\Program Files\Debugging Tools for Windows (x86)\cdb.exe»

El archivo genera un archivo en la raíz del C:\ llamado Debuglog.txt que nos dirá quién es el verdadero culpable en una línea como ésta:

PROCESS_NAME:  Programadelam.exe

Adicional dentro del mismo archivo se pueden encontrar muchas más cosas como:

Microsoft (R) Windows Debugger Version 6.12.0002.633 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.
Loading Dump File [C:\Windows\Minidump51412-37923-01.dmp]
Mini Kernel Dump File: Only registers and stack trace are available

Symbol search path is: SRV*c:\symbols*http://msdl.microsoft.com/download/symbols
Executable search path is: C:\Windows;C:\Windows\system32;C:\Windows\system32\drivers
Windows 7 Kernel Version 7601 (Service Pack 1) MP (4 procs) Free x64
Product: LanManNt, suite: Enterprise TerminalServer
Built by: 7601.17803.amd64fre.win7sp1_gdr.120330-1504
Machine Name:
Kernel base = 0xfffff800`01a51000 PsLoadedModuleList = 0xfffff800`01c95670
Debug session time: Mon May 14 11:21:02.560 2012 (UTC – 4:00)
System Uptime: 0 days 17:40:25.043

Una simple pantalla que puede ayudar a resolver muchos problemas 😉

Y todo resuelto, o por lo menos ya sabremos que es..

Buen pulso..!!!

A veces, por algun motivo especial (ejemplo, backups) es necesario desconectar todas las sesiones connectadas a un servidor Terminal Server (RDP), esto es fácil entrando a la consola de Terminal Services Manager, seleccionando los usuarios que se quieren desconectar, click derecho y terminar sesión o desconectar. Si, fácil, pero que pasa cuando los usuarios dejan conectada la sesión (porque no han aprendido, o nadie les ha enseñado a hacer logoff) y el backup comienza a las 10 de la noche?. No es agradable tener que conectarse antes del backup a terminar las sesiones conectadas.

Despues de buscar un rato, encontré un script escrito por Matthew Harris que hace precisamente eso, y es una simple línea:

For /f «tokens=2» %i in (‘QWinSta ^| Find /i «listen»‘) Do Echo y | RWinSta %i

La explicación:
El comando «For» ejecuta el comando Qwinsta, éste último da como resultado una lista de las sesiones actuales en la máquina en donde es ejecutado.

Luego de esto, el comando find (de ahí la redireccion | find) busca la palabra «listen» en el resultado del commando qwinsta (en mi caso lo adapté a mi sistema en francés en donde el «listen» es «Écouter»), la session listener es algo así como el socket de para las sesiones Terminal Server y si esta sesion es terminada el resto de sesiones abiertas sobre ese servidor también seran desconectadas.

El comando «For» toma el segundo argumento de cada línea del comando qwinsta, este segundo argumento es el identificador del número de sesión (en todos los sistemas que lo he probado ha sido siempre el mismo 65536. Entonces el comando «For» envia este número de Identificación de sesión y lo envía (vía redirección | rwinsta %i) como parámetro al comando rwinsta (terminando la sesión ) y finalmente el «Do Echo y» responde con un «yes» a la pregunta de si realmente quiere terminar la sesión X.

Nota: Una vez terminadas las sesiones, los usuarios pueden abrir inmediatemente una nueva sesión (aunque dudo mucho que haya álguien trabajando a las 3 de la mañana)

Nota 2: Para que el comando funcione en un script (ejemplo un archivo .bat) es necesario reemplazar «%i» por «%%i» (sin comillas).

Fuente: http://terminal.servebeer.com/php/reset_winstations.php

My toolbox utilities

Publicado: May 4, 2012 en IT

As a Network Admin, there are always some useful tools that will make my IT life a little bit easier. Here’s a list of the tools I always use (they are not in order, and I’m going to update this list every time I’ll remember something else).

Disk Space

Sometimes you get to work and found that mysteriously there’s no enough space in your server disk, and you doesn’t know who or what took the free space (sound familiar?). Well, there’s a Company that will help you with that. JAM Software, they developed a good series of software, but the most known in the champ (or at least tha one that I used to know) is TreeSizeFree (found it here: http://www.jam-software.com/treesize_free/), is a free utility to help you find who took that lost free disk space.

TreeSize Free

TreeSize Free

It has a nice graphical interface to help you find the hole..!!!

Have a nice day

I’ll keep this post update when I have some free time.

Parece que necesito más memoría RAM…!!!

Publicado: abril 28, 2012 en IT
Son solo 6 Go...

Son solo 6 Go...

Increíble, 6 Go. utilizados por el Explorador de Windows..!!!

No, no es porno, no es Internet Explorer, es el Explorador de Windows..!!!

 

Backup Exec o problemas físicos?

Publicado: abril 28, 2012 en IT

Vaya uno a saber…

De tanto en tanto tengo problemas con el backup de uno de mis clientes, utilizamos Backup Exec 2010, la última vez del error, en el event viewer había mensajes como estos:

Source: Backup Exec
EventID: 33152
Adamm Mover Error: Read Retry!
Error = ERROR_IO_DEVICE
Drive = “IBM 1″
{B8B61DA7-707D-4195-AF7C-CE2DA9E53EFE}
Media = “”
{00000006-0000-0000-0000-000000000000}
Read Mode: SingleBlock(0), ScsiPass(0)
Write Mode: SingleBlock(0), ScsiPass(0)

El error en si no dice mucho, en la opcion de dispositivos de Backup Exec se veía que el Tape estaba siendo utilizado, pero no mostraba ningun cassette.
Al intentar ejectar el cassette físicamente, este no sale.
Incluso despues de reiniciar el servidor, el comportamiento seguia sin cambios…

No funcionaba incluso deteniento los servicios de Backup Exec desde la consola de utilidades de Backup Exec.

Los test con HP L&TT mostraban un error (\\.\Tape0′ file open failure.) y no dejaba continuar los test.

Despues de mucho buscar, se me ocurrió verificar los servicios de Backup Exec, y me di cuenta, que aunque desde la opcion de la consola los servicios de Backup Exec aparecian como detenidos, aun había uno que seguía corriendo: “Backup Exec Error Recording Service”

Detuve ese servicio manualmente, y listo, HP L&TT empezó a funcionar.
En Backup Exec ya veía el cassette y la unidad de tape ya no se veía en uso.
Fue posible ejectar la cassette…

Parece que finalmente es un problema del cassette… ya veremos que pasa proximamente.

El problema me pasó en Backup Exec 2010 en un servidor SBS 2008.
La solucion la encontré en esta página (http://www.sudonym.com/233/unable-to-run-live-update-in-backup-exec-2010), así que a el, todo el crédito

Solo hay que ejecutar el comando
C:\>”C:\Program Files\Symantec\Backup Exec\BEUpdateOps.exe”

Y voila..!!

LiveUpdate encuentra Backup Exec y se pueden ejecutar las actualizaciones.

Lo último que uno quiere hacer es eliminar el pérfil de usuario cuando este tiene problemas con su session Terminal Server, pero hay ocasiones que que no hay otra posibilidad. En Windows 2003 era fácil, solo era necesario borrar el folder de usuario de la carpeta «C:\Documents and Settings», con el ingreso al juego de Windows Server 2008 no es tan sencillo como eso, veamos…

En Windows 2008 la carpeta dejó de llamarse «C:\Documents and Settings», ahora se llama «C:\Users» (se han inventado algo distinto esta vez, imagino que hicieron algo como soft links o algo parecido, tengo algunos sistemas en Francés, cuando miro los folder por el explorador de Windows de lée «C:\Utilisateurs» pero al ingresar al folder como tal el nombre cambia a «C:\Users»).

Eliminemos uno de los usuarios de Prueba, en este caso el usuario se llama «Prueba» (que original), borramos la carpeta «C:\Users\Prueba» e inmediatamente abrimos la session con ese usuario.

En mi caso, el perfil abrió corrcetamente, solo que recreó completamente el perfil, luego de cerrar y volver a abrir la session RDP hizo lo mismo, hay algunos casos en donde despues de iniciar session, aparece un mensaje que dice «Su perfil de usuario no se cargo correctamente», se configuró su session con un pérfil temporal, los cambios que se hagan sobre este pérfil se perderan una vez cierre la session…

Este es mi caso, aunque para mi usuario Test el mensaje no apareció, cualquier modificación al pérfil se pierde al momento de cerrar la session.

Buscando un poco en el sitio web de Microsoft encontramos: http://technet.microsoft.com/en-us/library/cc775560(v=ws.10).aspx

La lista de perfiles se encuentra en el registro de Windows (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList)

Si el folder «C:\Users\Usuario» es eliminado, pero no se borra la llave de registro, Windows asume que el pérfil debe estar en algun lado, y no lo vuelve a crear, solo deja que el usuario ingrese con un pérfil temporal, y el folder «C:\Users\Usuario» no es creado..

Ahora borremos la clave del registro de Windows
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

Para asegurarnos que estamos borrando el pérfil correcto, navegamos hasta la llave de registro ProfileList y nos desplazamos por cada una de las laves, leyendo la clave ProfileImagePath que nos indica el nombre del usuario…

En mi caso, la llave tenía el nombre normal pero adicional terminaba en .bak (los pérfiles originales no tienen el .bak)

Eliminé la llave de registro .bak y al abrir la session con el usuario temporal

El pérfil fue creado nuevamente, y al cerrar la session se conservan sus características.
El folder «C:\Users\Usuario» fue creado nuevamente al igual que la llave de registro (esta vez sin el .bak)

Desafortunadamente el usuario sigue teniendo problemas con Word.

Parece que va a ser necesario hacer una reparacion de Office..!!!