Finally the help of IT is here

Blog de soluciones informaticas.

Detectar errores visor de sucesos desde Powershell

Posteado por Xavier Xaus Nadal on 13th mayo 2012

Buenas.

Hoy vamos poner algo de powershell.

Este artículo explica como recoger remotamente un evento del visor de sucesos de windows de un equipo o grupo de equipos desde una línea de comandos Powershell y además en Onliner, jeje como me gusta a mí..

Recordáis el artículo http://www.megacrack.es/2008/11/16/como-resolver-problema-con-jrnl_wrap_error-frs-event-id-13568-o-13561/ donde demostrábamos como solventar un error con la replicación de Active Directory del sysvol?, pues con este script podremos detectar remotamente este tipo de errores sin tener que esperar a que un usuario nos diga que su script no funciona por que no lo detecta, o que una política de dominio no se está aplicando por que no existe en algún site, etc..

Lo que vamos a hacer con este script es comprobar los últimos 2 días de logs del visor de eventos del “File Replication Service” como source “NtFrs” y como tipo de error “Error” y también forzaremos a que únicamente nos muestre los errores de tipo “13568” y que únicamente nos muestre el más nuevo para ajustarnos a las preferencias de detectar el error de replicación de active directory (Vosotros podréis poner lo que queráis como por ejemplo detectar si las bases de datos de Exchange se han apagado por culpa de que el log de transacciones se haya llenado) con los siguientes valores:

Type: Error

Event ID: 9518

Source: MSExchangeIS

Pero de momento lo que vamos a buscar nosotros son los problemas con el FRS y lo que buscamos es lo siguiente:

Type: Error

Event ID: 13568

Source: NtFrs

Lo haremos de esta forma:

get-eventlog -newest 1 -after (get-date).AddDays(-2) –computername <NombreEquipo> -logname "File Replication Service" -source "NtFrs" -entrytype "Error" | where{$_.EventId -eq ‘13568’} | select machinename,source | ftautosize

El resultado si detectara que ha habido un error en los últimos 2 días en el apartado File Replication Service con source NtFrs, de tipo Error y con el código de evento 13568 sería el siguiente:

MachineName Source

———–         ——

MegaDC1        NtFrs

A partir de ahí ya podremos solventar el problema  con el siguiente artículo por ejemplo: http://www.megacrack.es/2008/11/16/como-resolver-problema-con-jrnl_wrap_error-frs-event-id-13568-o-13561/

Pero si lo que queréis es detectar esto mismo en todos los domain controllers del dominio deberéis modificar –computername <NombreEquipo> por:

-computername (get-qadcomputer -searchroot "<dominio>Domain Controllers" –dudip | Select-Object -ExpandProperty Name)

Cuidado que esta última modificación que lo hará sobre todos los domain controllers que tengáis y tardará muchísimo, (Deberéis tener instaladas las herramientas de Quest Active Roles Management) pensad que lo hacemos remotamente y que no usamos hebras de procesos (Esto ya os lo mostrará otro de los miembros del blog que es más que experto en Powershell) A ver si se anima.. Albert!!!!!, te queremos leer en MegaCracks…

También podéis ejecutar el comando en cada servidor diariamente y que envíe un email con los resultados a una dirección de correo o lo envíe hacia un fichero que será recogido por un IIS y mostrado en una web como si de un monitor de eventos centralizado se tratara, o lo que vuestra imaginación os ofrezca… El mundo del powershell es impresionante, pero más lo es cuando lo unes con automatizaciones, monitores, webs, etc..

Si tenéis cualquier pregunta al respecto estaremos encantados de daros soporte desde los comentarios del bog.

Hasta la próxima.

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
Posteado por Error, Exchange, PowerShell, powershell | No Comments »

Como detectar si un fichero ha sido abierto?

Posteado por Xavier Xaus Nadal on 19th marzo 2012

Buenas,

En épocas de crisis necesitamos ingeniárnoslas para poder ahorrar costes o si no es posible, intentar reducir la inversión en tecnología (Aunque me duela en el alma decirlo).

El tema que nos ocupa es cumplir la siguiente idea que he tenido esta misma tarde.

Necesito un script que detecte si un ficheros ha sido abierto en una fecha anterior a 2 años (Definido en una variable).

Que comprima los ficheros en la misma ubicación donde los ha encontrado.

Si hay más de un fichero en la misma carpeta que los comprima en un mismo archivo con el siguiente formato OldFiles_año_mes_dia.zip

Si se ha cumplido la condición de detectar el fichero/ficheros y ha realizado la compresión correctamente deberá eliminar el fichero o ficheros originales sin comprimir.

El sistema podría generar un (report / fichero) con los resultados de la compresión como resumen por fichero / carpeta / servidor

Necesito esto para poder reducir el espacio ocupado en los servidores de ficheros para así no tener que ir comprando, discos, cabinas, …

Los ficheros son críticos con lo que entenderéis que no podemos comprar discos baratos para almacenarlos.

El lenguaje usado puede ser Powershell, C#, vbs, …

El entorno debe ser indispensablemente Sistemas Operativos Windows (Lo siento linuxeros o maqueros) Otra vez será.

 

PD: El tema de la deduplicación es inversión aunque con un buen ROI (inversión en definitiva).

Saludos y espero vuestras propuestas / scripts /programas, etc..

Tags: , , , , , , ,
Posteado por Programación | 2 Comments »

Como reparar sistema de ficheros linux.

Posteado por Xavier Xaus Nadal on 3rd enero 2012

Buenas,

Os pongo los pasos que he seguido para reparar un sistema de ficheros linux.

Lo primero que debemos hacer es desmontar la partición corrupta.

umount /dev/sda5

 

Donde sda5 es la partición defectuosa o corrupta.

El segundo paso es utilizar lo que en windows llamamos chkdsk para linux.

fsck –t ext3 /dev/sda5, también podéis usar fsck.ext3 /dev/sda5

 

El parámetro –t ext3 lo deberemos definir en el caso que la partición esté en ext3 ya que por defecto el fsck asume que el tipo de particionamiento es ext2.

En el caso de no estar seguros que tipo de particionamiento tenéis con el comando mount se podría comprobar.

Espero os haya sido de ayuda.

Hasta la próxima.

Tags: , , , , , , , , ,
Posteado por Linux, Linux - Ubuntu | No Comments »