Finally the help of IT is here

Blog de soluciones informaticas.

Consultar todos los servidores en LDAP a través de Powershell

Escrito por Xavier Xaus Nadal on Enero 15th, 2011

Save pagePDF pageEmail pagePrint page

Buenos días.

Hoy el artículo es una pequeña introducción a: Como instalar powershell en windows 2003 y Como administrar active directory desde powershell junto a la consulta que os he prometido en el título.

Antes que nada deciros que en Windows Vista, 7, Windows 2008, … 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.

Ahora instalamos el software Active Roles Management. En la propia instalación se nos solicitará modificar la seguridad de nuestras ejecuciones powershell, 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).

Cuando tengamos el software instalado ya podemos usarlo:

Inicio –> Todos los programas –> Quest Software –> ActiveRoles Management Shell for Active Directory.

QueryLdapPowerhell_1

Pulsamos E e intro

QueryLdapPowerhell_2

He aquí un ejemplo de como listar todos los servidores de una organización mediante un filtro LDAP donde la búsqueda la realizará en cualquier OU que coincida con la palabra buscada y que además pertenezca a la OU=Domain Controllers, ordenados por nombre y mostrando únicamente el Nombre y el Distinguished Name.

Gracias Albert Fortes por la ayuda prestada.

get-qadcomputer -Ldapfilter “(&(&(&(&(objectclass=computer)(objectcategory=computer)(|(operatingSystem=*server*)(operatingSystem=*Windows NT))))))” | Where {($_.DN -like ‘*OU=La que vosotros queráis*’) -or ($_.DN -like ‘*OU=Domain Controllers*’) } | sort Name | select Name, DN

He aquí el resultado:

QueryLdapPowerhell_3

También podemos realizar la consulta de los equipos dentro de una OU específica con

get-qadcomputer -dudip -sl 0 -lf “(objectclass=computer)” | where {($_.DN -like ‘*OU=La que quieras*’)} | select DN

Otra consulta podría ser la siguiente donde conseguiríamos listar en un fichero todos los equipos de una unidad organizativa en Active Directory que contuviera la palabra loquequeráis

get-qadcomputer -dudip -sl 0 -lf “(objectclass=computer)” | ?{$_.DN -like “*OU=loquequeráis*”} | export-csv -notype -Encoding default “C:\computerlist.csv”

Espero que os haya sido de ayuda.

Hasta pronto.

Related Posts Plugin for WordPress, Blogger...
Etiquetas: , , , , , , , , , ,


Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>