Posteado por sjgasca on 18th July 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: 0x800706BA, COM, COMException, Errors, Get-WMIObject, habilitar COM, hresult, RPC, servidor RPC, wmi
Posteado por Permisos, PowerShell, powershell, WMI | No Comments »
Posteado por Xavier Xaus Nadal on 13th May 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 | ft –autosize
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: 9518, active, AddDays, automatización, comandos, computername, Controllers, directory, domain, Event, event id 9518, EventId, eventid 13568, eventvwr, Exchange, file, get-eventlog, herramientas, JRNL_WRAP_ERROR, MachineName, Management, megacrack, modificación, MSExchangeIS, Name, NombreEquipo, NtFrs, object, Onliner, Quest, replicación, Replication, roles, script, Select, Service, Source, Type, webs
Posteado por Error, Exchange, PowerShell, powershell | No Comments »
Posteado por Xavier Xaus Nadal on 12th May 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: Active Directory, active roles, computers, domain, dominio
Posteado por Active Directory, equipos, PowerShell, powershell | No Comments »
Posteado por Xavier Xaus Nadal on 12th May 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: Active Directory, active roles, manage ad with powershell
Posteado por Active Directory, PowerShell, powershell | No Comments »
Posteado por Xavier Xaus Nadal on 29th February 2012
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: aprender a programar, aprender powershell, concurso, concurso powershell, evento de programación, script contest, scripting, scripting games 2012
Posteado por games, PowerShell, powershell, Programación | No Comments »