viernes, 23 de noviembre de 2012

Buscar equipos según el Service Pack Versión 2012

Anteriormente, publiqué una entrada en donde mostraba como buscaba equipos en un dominio para verificar el Service Pack del sistema operativo.

Claro que eso fue en Noviembre de 2009! Un largo tiempo en términos informáticos. Aunque ese procedimiento aún es válido, en el 2012 hacemos todo con PoweShell.

El cmdlet que utilizaremos es Get-AdComputer, el cual está incluido en el módulo de PowerShell para Active Directory. Si la consola de PowerShell que estamos utilizando no tiene los cmdlets de AD, podemos importar el modulo (Figura 1) con otro cmdlet:

Import-Module ActiveDirectory
Figura 1

Primero realizamos la consulta para ver todos los equipos (-Filter *), todas las propiedades (-Properties *), y en un formato de tabla (ft) buscamos nombre, sistema operativo, service pack, IP y fecha de la última vez que el equipo inició sesión (Figura 2).

Get-ADComputer -Filter * -Properties * | ft Name, OperatingSystem, OperatingSystemServicePack , *IPv4* ,LastLogonDate* -AutoSize

Figura 2

En esta tabla rápidamente podes ver varios datos:
1-BPSARGTestPC no tiene ningún valor en Operating System, lo que indica que nunca se unió al dominio pero existe en AD una cuenta de equipo.
2-Algunos equipos no se validan hace casi dos años, por lo que seguramente son cuentas de equipo que deberíamos depurar o deshabilitar.
3-Podemos obtener la IP de los equipos en forma remota.

Seguramente, en un entorno mediano o grande, es impráctico ver todos los equipos por pantalla, por lo que tenemos dos opciones.

A) Acotar nuestra búsqueda, por ejemplo a equipos con Windows XP con Service Pack 2 (Figura 3)

Get-ADComputer -Filter 'OperatingSystem -like "*XP*" -and OperatingSystemServicePack -like "*2*"' -Properties * | ft Name, OperatingSystem, OperatingSystemServicePack, *IPv4*, LastLogonDate* -AutoSize
 
Figura 3

B) Enviar el resultado de la búsqueda a un archivo .CSV (Figura 4)

Get-ADComputer -Filter 'OperatingSystem -like "*XP*" -and OperatingSystemServicePack -like "*2*"' -Properties * | Select Name, OperatingSystem, OperatingSystemServicePack, *IPv4*, LastLogonDate* | Export-Csv C:\Temp\ADComputerInfo.csv


Figura 4

Cambiando los valores que fueron ingresados en el cmdlet anterior, podemos buscar equipos con diferente sistema operativo o service pack según la necesidad que exista.

En estos ejemplos solo trabajamos con algunas propiedades, pero podemos hacer consulta de muchas otras. Para ver la lista completa de propiedades podemos utilizar el cmdlet Get-ADComputer

Get-ADComputer -Properties *

Para aprender más...

No hay comentarios: