Finally the help of IT is here

Blog de soluciones informaticas.

Archive for the 'PowerShell' Category

La Digi-evolución de ms-dos + linux + scripting todo en uno

El servidor RPC no esta disponible desde Powershell

Posteado por sjgasca on 18th julio 2012

En este artículo explicaremos como solventar el siguiente error: El servidor RPC no esta disponible , error que aparece desde una consola de powershell

Hola a todos.

Como primer artículo para mi compi Xavi voy a proponer unos simples pasos para resolver un error para el que me costó bastante encontrar la solución definitva.

El error aparece en Powershell al intentar ejecutar una función que consulta un equipo remotamente, tales como las consultas WMI.

A continuación os muestro el error y el procedimiento para solucionarlo.

Sigue leyendo MegaCrack »

Tags: , , , , , , , , ,
Posteado por Permisos, PowerShell, powershell, WMI | No Comments »

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 »

Listar usuarios que han añadido equipos al dominio.

Posteado por Xavier Xaus Nadal on 12th mayo 2012

Buenos días.

Hoy os explicaremos un script desarrollado en Powershell que lo único que hace es sacar un listado de el equipo agregado al dominio y el usuario que lo ha introducido.

Y quizá os preguntaréis para que nos sirve esto?

Pues bien, si tenéis una estructura de Active Directory “sin retoques” es decir las nuevas máquinas que introducís en el dominio son almacenadas en el contenedor computers en lugar de en una unidad organizativa (OU) dentro de una estructura de país, ciudad, departamento, etc…, y en algún momento necesitáis detectar quien ha agregado este equipo en el dominio para preguntarle a esa persona para que empresa iba o que tipo de equipo es, para posteriormente ordenarlo en AD, simplemente ejecutando este script podréis detectar que máquina y que persona es la responsable de la inclusión al dominio.

Para ello necesitaréis disponer de powershell y de Active Roles Managment instalado o añadir la siguiente línea de texto al principio del script.

add-PSSnapin quest.activeroles.admanagement

El script es el siguiente y ha sido desarrollado (por uno de nuestros colaboradores del blog al que le gusta vivir en el anonimato) y mejorado por uno de los mejores Powershell scripters del mundo el cual en los últimos Scripting Games 2012 quedó 4º en la LeaderBoard (Albert Fortes).

$Result=@(Get-QADComputer -Searchr "<dominio>/computers" | Select @{Expression={$_.Name};Name="Computer"},@{Expression={((Get-QADPermission -Identity ($_.CanonicalName) -WarningAction:SilentlyContinue | Select Account -Unique).Account | Select Samaccountname).Samaccountname };Name="Username"})

 

$Result | ft –AutoSize

El script está comprobado (No tengáis miedo al ejecutarlo, únicamente es una query hacia active directory un poco complicada de explicar..) El que esté intrigado lo puede postear en los comentarios..

Espero que os haya sido útil.

Tags: , , , ,
Posteado por Active Directory, equipos, PowerShell, powershell | No Comments »

Instalar Powershell + Active Roles Management for Active Directory

Posteado por Xavier Xaus Nadal on 12th mayo 2012

Este artículo consta de Como instalar powershell en windows y Como administrar active directory desde powershell.

Antes que nada deciros que en Windows Vista, 7, Windows 2008, en adelante… ya está incluido como software instalado, pero:

Donde encontrar las herramientas powershell para windows 2003 ?: Las podéis descargar desde windows update (Como software opcional) a día de hoy (Powershell 2.0). Al instalarlas las encontraréis en: Inicio –> Todos los programas –> Accesorios –> Windows Powershell.

Donde encontrar las herramientas necesarias para usar powershell con Active Directory: Nos descargaremos desde el siguiente enlace http://www.quest.com/powershell/activeroles-server.aspx el fichero ActiveRoles Management Shell para 32 o 64 bits.

Instalamos el software Active Roles Management for Active Directory. En la propia instalación se nos solicitará modificar la seguridad de nuestras ejecuciones powershell, debéis marcar la opción Change Powershell execution policy from “Restricted” to “Allsigned” esto hará que cualquier programa no firmado realizado en powershell pueda ser ejecutado (Es bajar la seguridad, pero es asegurar que todos los scripts que realicemos o descarguemos funcionan) (Mucho cuidado de ahora en adelante en ejecutar código desconocido en formato .ps1).

Sigue leyendo MegaCrack »

Tags: , ,
Posteado por Active Directory, PowerShell, powershell | No Comments »

Estáis preparados para el 2012 Scripting Games?

Posteado por Xavier Xaus Nadal on 29th febrero 2012

8203.hsg 2 4 12 1 thumb Estáis preparados para el 2012 Scripting Games?

 

Desde hace unos años se celebra una competición excelente entre los mejores scripting guy del panorama. Esta competición fue creada y es seguida en la actualidad por Ed Wilson. Es un evento de gran aprendizaje para profesionales de IT.

Se basa en Windows PowerShell que es al menos para mí la mejor herramienta de scripting jamás creada.

La competición empieza el 2 de Abril de 2012 y finaliza el 13 de Abril.

Cada día aparecerá un nuevo reto y deberemos presentar los scripts antes de las 11:59 (Hora estándar del pacífico) Cuidado con esto que tiende a confundir.

Cada día se sortean premios y el que quede primero recibirá (El año pasado era una invitación para techEd).. Este año aún no lo sé.

Si queréis ver más información acceded al siguiente enlace: http://blogs.technet.com/b/heyscriptingguy/archive/2012/01/30/scripting-guys-announce-the-2012-powershell-scripting-games.aspx

Como ya queda poco tendréis que espavilaros y estudiar mucho antes de las pruebas.

El sistema consiste en 2 eventos: Uno básico y el otro avanzado. (Os recomiendo que hagáis uno de los 2 ya que de lo contrario perderéis mucho tiempo).

Os paso el siguiente texto extraído directamente desde la web para que os podáis preparar consecuentemente:

How to Prepare for the 2012 Scripting Games

I invite you to follow me on Twitter and Facebook. If you have any questions, send email to me atscripter@microsoft.com, or post your questions on the Official Scripting Guys Forum. See you tomorrow. Until then, peace.

Ed Wilson, Microsoft Scripting Guy

Saludos y hasta el evento.. ( Intentaremos estar allí para al menos llevarnos un gran pack de conocimientos).

Nos vemos en los scripting games 2012.

Tags: , , , , , , ,
Posteado por games, PowerShell, powershell, Programación | No Comments »