sábado, 20 de junio de 2015

Listar el software instalado y exportarlo a una lista en entornos Windows.










Cuando llegamos a una empresa nos tenemos que encargar como IT de una parte importante de los sistemas como es auditar el software a la hora de administrar sistemas y redes. Esta auditoria de software es vital ya que podemos encontrar software no permitido, que afecta a la productiva, malicioso o simplemente prescindible. Pero también conseguiremos una lista eficiente del software necesario para la empresa o el particular. Estás listas de software son básicas a la hora de auditar el software, pero no solo en ambientes empresariales o de administración de sistemas y redes, si no también a la hora de atender un cliente.

Estás listas de software son básicamente una copia de seguridad del software instalado que nos servirá para consultar en caso de reinstalación, actualización del sistema o simplemente para chequear el software instalado o compararlo con la lista de software permitido.

Para esto o voy a mostrar los diferentes métodos que existen en los sistemas Windows, mediante cmd, powershell o usando un programa.

Comenzaremos trabajando con cmd donde escribiremos el siguiente comando"reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall /S | find "DisplayName" >> fichero.txt" el cual podemos variar la ruta donde irá nuestro ".txt" también podemos cambiar a fichero del tipo ".csv".





A la hora de trabajar con Powershell podemos usar la instrucción "Get-ChildItem HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall > c:\applist.txt".

Partiendo de la instrucción anterior se puede elaborar un pequeño script para Powershell con el que podemos podemos crear la lista de aplicaciones y mandarlas a un fichero de forma más ordenada.
(el script esta en este enlace)


$loc = Get-ChildItem HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall

$names = $loc |foreach-object {Get-ItemProperty $_.PsPath}

foreach ($name in $names)
{
Write-Host $name.Displayname 
$name.Displayname >> c:\applist.txt
}
echo "###########################################"
echo "###Lista de software instalado completa,###"
echo "###fichero en la ruta c:\applist.txt    ###"
echo "###########################################"



Y como última opcion pero no menos útil es usar Ccleaner que en herramientas > desinstalación nos permite exportar la lista de software.




En definitiva esto es mas que una pequeña muestra de lo quepodríamos automatizar los procesos con script qlaue comprobara el fichero generado con las aplicaciones permitidas para llevar un control más duro de los sistemas y eso es solo un ejemplo.