¿Cómo encontrar software instalado en sistemas Windows remotos con PowerShell?

Si eres un administrador de TI, es muy probable que hayas tenido que instalar software para otros. La administración de puntos finales es un gran negocio en estos días y el mantenimiento del software en cientos o miles de computadoras es común en las grandes organizaciones.

¿Qué pasa si estás en una organización con poco o ningún presupuesto? ¿Tal vez usted o alguien de tu equipo se ha metido en el uso de PowerShell para automatizar varias tareas? En ese caso, el uso de PowerShell para administrar el software en muchos puntos finales a la vez puede ser beneficioso.

El lenguaje de secuencias de comandos de PowerShell es un lenguaje poderoso y flexible que parece manejar casi cualquier cosa en un entorno de Windows, ¡Trabajar con software en computadoras remotas es pan comido!

En este artículo, aprenderás cómo usar PowerShell para crear informes de software instalado. Aunque PowerShell también es capaz de instalar software, se centrará en consultar el software que se ha instalado por otros medios.

Dónde está registrado el software

El término “software” es un término vago, especialmente en Windows. Cuando se instala un paquete de software, depende totalmente del desarrollador del software determinar qué cambios se producen en la computadora del usuario.

Los instaladores de software copian archivos, crean claves de registro, agregan instancias WMI y más. La clave para crear un informe de inventario de software preciso, independientemente del método, es primero comprender qué buscar.

Aunque el software instalado está registrado en WMI, una forma más confiable de encontrar esta información es usar el registro.

Cada versión moderna de Windows almacena la información del software instalado en las tres claves de registro a continuación. Dependiendo de cómo se instaló el software, siempre se almacena como una clave de registro en una de estas claves principales.

  • HKEY_LOCAL_MACHINE (ruta de 32 bits)
  • HKEY_LOCAL_MACHINE6432Nodo (ruta de 64 bits)
  • HKEY_CURRENT_USER (para cada perfil de usuario)

Cada clave de registro secundaria en estas claves primarias normalmente recibe el nombre del identificador único global (GUID) del software. Dentro de esa clave, puede encontrar valores de registro para el título del software, la versión y más.

Requisitos de la PC remota

Para usar el código cubierto en este artículo, asumo que tiene PowerShell Remoting habilitado y disponible en tus computadoras remotas. Puedes probar PowerShell Remoting intentando ejecutar un comando simple como Invoke-Command -ComputerName REMOTEPCNAME -ScriptBlock {1} . Si eso falla, el resto de la información cubierta en este artículo tampoco funcionará.

Uso del módulo de la comunidad de PSSoftware

Para evitar recrear la rueda y crear su propia herramienta de PowerShell, usemos una existente.

Primero, en una consola administrativa de PowerShell, descarga e instale el módulo PSSoftware PowerShell desde la Galería de PowerShell ejecutando Install-Module PSSoftware .

Una vez que hayas instalado el módulo, inspecciona los comandos disponibles ejecutando Get-Command -Module PSSoftware -Noun Software . Verás algunos comandos como Get-InstalledSoftware , Install-Software y Remove-Software .

Esos comandos son las funciones principales para administrar el software. En este artículo, veremos la función Get-InstalledSoftware .

Prueba el comando Get-InstalledSoftware ejecutándolo primero localmente sin parámetros. Inmediatamente verás pasar muchos paquetes de software diferentes.

PS51> Get-InstalledSoftware
ModifyPath : MsiExec.exe /I{4CF4DB38-0692-4A5B-BCE8-1667C51E8416}
VersionMajor : 14
Version : 14.0.500.272
sEstimatedSize2 : 732
URLInfoAbout :
NoRepair : 1
InstallSource : C:ProgramDataPackage Cache{4CF4DB38-0692-4A5B-BCE8-1667C51E8416}v14.0.500.272x64
Contact :
Size :
InstallLocation :
VersionMinor : 0
SystemComponent : 1
EstimatedSize : 1464
URLUpdateInfo :
InstallDate : 20170716
Comments :
WindowsInstaller : 1
HelpLink : https://go.microsoft.com/fwlink/?LinkId=154582
UninstallString : MsiExec.exe /I{4CF4DB38-0692-4A5B-BCE8-1667C51E8416}
GUID : {4CF4DB38-0692-4A5B-BCE8-1667C51E8416}
HelpTelephone :
Readme : Placeholder for ARP readme in case of no UI
Publisher : Microsoft Corporation
Language : 1033
Name : SQL Server vNext CTP2.0 XEvent
AuthorizedCDFPrefix :
PSComputerName : MACWINVM
RunspaceId : da83572b-150b-43b6-923a-14e516a77ba3
--snip--

Puedes limitar esa salida a solo el título y la versión mediante el Select-Object cmdlet.

PS51> Get-InstalledSoftware | Select-Object -Property Name,Version

Para consultar una computadora remota, usa el parámetro ComputerName . Se devolveran los mismos paquetes de software.

Tal vez prefieras no ver todo el software instalado, sino solo el software que coincida con un título específico. Puedes filtrar esta información mediante el Where-Object cmdlet. El siguiente ejemplo encuentra todo el software que comienza con SQL en la computadora remota.

PS51> Get-InstalledSoftware | Where-Object {$_.Name -like 'SQL*'} | Select-Object -Property Name,Version

*Resumen final

Una vez que comprendas dónde se almacena el software instalado y puedas acceder a él con PowerShell, el mundo estará bajo tus manos. Desde ahí, puedes expandir rápidamente el código a varias computadoras, buscar numerosos paquetes y mucho más.

¡Usar los módulos gratuitos de PowerShell de la comunidad es una excelente manera de crear informes de inventarios de software a bajo costo!

Relacionado

Mejores Libros PDF de Programación y Tecnología GRATIS

Los Mejores Libros PDF Gratuitos de Informática. EL sitio perfecto para aprender a programar desde cero para principiantes con las mejores guías gratis. Esta es la mejor lista de libros de programación en PDF en español del mundo. Una completa biblioteca recopilada de cientos y cientos de libros en PDF que no encontrarás en ninguna parte más. Aquí, vas a encontrar libros enfocados hacía programadores. Sobre ¡SEGUIR LEYENDO!

Más de 1.500 Libros PDF en Inglés de Desarrollo Web, Programación, Seguridad, Robótica, Blockchain, Domótica y Mucho Más

La mejor lista de libros sobre lenguajes de programación en inglés de todo Internet. https://ciberninjas.com/zlibrary/ Libros de Python / Libros PHP / Libros Java / Libros Diseño Meta Listas atariarchives.org atariarchives.org pone a disposición en la Web libros, información y software para Atari y otras computadoras clásicas. Bento Bitsavers.org Bookboon: se requiere cookie de TI y programación</. (requiere @email) DZone - Hojas de trucos (gratis) Conceptf1.blogspot.com ¡SEGUIR LEYENDO!

10 Comandos Básicos de PowerShell

PowerShell no necesita presentación: es el marco de gestión de configuración y automatización de tareas elegido para el entorno de Windows. Combina la flexibilidad de un poderoso lenguaje de secuencias de comandos con el poder y la velocidad de la línea de comandos para ayudar a los administradores de TI a orquestar, automatizar y solucionar problemas de funciones de TI comunes. Por eso, los comandos de ¡SEGUIR LEYENDO!

¿Cómo administrar identificadores de archivos abiertos con PowerShell?

Uno de los errores más frustrantes con los que puede lidiar un usuario final o un administrador de TI es el de los archivos bloqueados dentro de Windows. Cuando eliminas una carpeta, mueves un archivo o editas una configuración y encuentras un mensaje de error de archivo bloqueado, es mejor lidiar con eso de manera rápida y eficiente. Microsoft introdujo PowerShell como shell de reemplazo, pero ¡SEGUIR LEYENDO!

48 Mejores Cursos Gratis de Servicios en la Nube y Servidores

Recopilatorio de cursos enfocados en aprender a manejar servicios o crear servicios dentro de un servidor online o en la nube.

22 Mejores Cursos Gratis de Software Técnico

Recopilatorio de cursos para aprender técnicas de reparación y mantenimiento de software y hardware o estudios de técnico informático.

¿Cómo implementar paquetes de servicios de SQL Server de forma gratuita con PowerShell?

Como cualquier otra pieza de software, Microsoft SQL Server debe mantenerse actualizado. Microsoft lanza periódicamente paquetes de servicio para SQL Server que deben instalarse. Para instalar un paquete de servicio, puedes conectarte a una consola remota de SQL Server, ejecutar el instalador y hacer clic en el asistente o puede hacerlo de manera sencilla. Cada instalador de Service Pack para SQL Server admite instalaciones silenciosas. Este ¡SEGUIR LEYENDO!

Deja un comentario