Cómo desinstalar software usando PowerShell

PowerShell puede ayudarlo a desinstalar programas rápidamente.

La mayoría de nosotros hemos desinstalado programas de nuestra PC. ¿Cómo hiciste eso? Puedes recordar

Lo hemos hecho principalmente a través del panel de control o, en algunos casos, cuando tratamos con paquetes más complejos, nuestro propio proceso de eliminación.

Estas configuraciones son convenientes para desinstalar un solo programa, no son escalables. Imagine por un segundo que fuera un administrador de TI y quisiera desinstalar programas de varias ordenadors. Iniciar sesión en cada dispositivo y desinstalar el programa no es la opción más productiva.

Afortunadamente, puedes usar secuencias de comandos de PowerShell para desinstalar el software. La ventaja es que puedes enviar un comando para eliminar cualquier número de PC en red. Así que puedes elimine un programa de miles de PC con solo un script.

Suena simple, ¿verdad? Veamos cómo desinstalar software usando PowerShell.

Índice

¿Qué es Microsoft PowerShell?

Microsoft PowerShell está administrador de configuración y automatización de tareas que consta de un lenguaje de secuencias de comandos y una línea de comandos. Viene con una variedad de comandos integrados, llamados cmdlets, que realizan una función o tarea específica. Puede combinar estos cmdlets en un script personalizado para realizar la tarea deseada - automatización de tareas complejas o que consumen mucho tiempo.

2 formas de desinstalar software usando PowerShell

Puede desinstalar el software usando PowerShell 2 maneras, Borrar () método y Paquete de eliminación mandar De los dos, Borrar () método: esta es la forma más popular y fácil de eliminar programas conocidos del dispositivo.

La segunda opción es Paquete de eliminación, es una buena opción para programas ocultos y aquellos que PowerShell no identifica.

Comencemos con la primera opción.

1. Método de eliminación

En esta guía paso a paso, aprenderá los comandos para desinstalar software de una soel ordenador. Siempre puedes usar el ciclo For-each extiéndalo a una colección o matriz de PC ordenar a través de cada ordenador en la matriz y realizar la misma acción.

Paso 1: obtenga una lista de las aplicaciones instaladas

Como primer paso, obtenga una lista de aplicaciones instaladas en su ordenador. Código de PowerShell para esto:

Get-WmiObject-Clase Win32_Product | Seleccionar-Objeto -Nombre de la propiedad

Ahora puede que se pregunte qué se necesita para instalar una lista aplicaciones? Después de todo, solo necesita eliminar una aplicación de su ordenador. El problema es que necesita saber el nombre exacto de la aplicación a medida que PowerShell lo lee y lo muestra. Por ejemplo, puede usar la palabra "Microsoft Outlook" en su código para eliminar Outlook de su ordenador. ¿Qué pasa si se llama "Microsoft Outlook 2019"? Esta discrepancia generará un mensaje de error o simplemente no se ejecutará el comando. Evite confusiones y vea cómo PowerShell lee el nombre del software y luego use ese nombre en su código para eliminarlo.

Aquí hay un ejemplo, la imagen de abajo muestra cómo Obtener WmiObject muestra una lista de programas instalados.

Una interfaz de línea de comandos de PowerShell que muestra el comando Get-WmiObject de PowerShell, que devuelve una lista completa de los programas instalados.

El comando Get-WmiObject de PowerShell devuelve una lista completa de los programas instalados.

Paso 2: reduce la lista

La lista anterior de programas puede verse impresionante incluso en dispositivos con múltiples programas instalados. Puede reducirlo con filtros y expresiones regulares si tiene una idea del nombre de su programa. En el ejemplo anterior, puede pedirle a PowerShell que reduzca la lista a los programas que contienen la palabra "Outlook" porque es una palabra única. Si usa Microsoft, ¡puede obtener una lista más grande! En general, asegúrese de elegir las expresiones y palabras que tengan más posibilidades de ayudarlo a encontrar el programa adecuado.

$ MiPrograma = Get-WmiObject -Class Win32_Product | Donde-objeto {$_.Nombre -eq "Outlook"}

Esto reducirá la lista a todas las versiones de Microsoft Outlook instaladas en su sistema. De esta lista, seleccione la versión que desea desinstalar. Si solo tiene una versión instalada, entonces no hay nada para elegir, y Mi programa almacena el valor en una variable.


Paso 3: Utilice el método de eliminación

Potencia Shell viene con un método incorporado llamado Borrar (). Simplemente llame a este método en su programa para eliminarlo. En nuestro ejemplo anterior, será

$ MiPrograma.desinstalar()

Este comando desinstalará su programa. También puede reemplazar la variable $ MiPrograma con el nombre real del programa.

Este proceso es la forma más fácil de desinstalar un programa usando PowerShell. Sin embargo, algunos programas ocultos pueden existir y no se incluirán en la lista. Obtener WmiObject mandar

Abre el panel de control y mira la lista de programas para comprobarlo. Compárelo con la lista de pantallas de PowerShell y notará que algunas de ellas no están incluidas.

2. Utilice el paquete de desinstalación

Use esta opción si PowerShell no tiene su programa. Código para este equipo de PowerShell:

Get-Package -Programas de proveedor -IncludeWindowsInstaller -Nombre "BackZilla"

Para que PowerShell muestre todos los programas en Panel de control, utilice un asterisco en lugar de la opción Nombre. Tenga en cuenta que si ha instalado varias versiones, este comando solo elimina la última versión.

En el ejemplo anterior será:

Paquete de desinstalación - Nombre BackupZilla 3.0

También puede desinstalar una versión específica o pasar la salida Get-Package Paquete de eliminación. Aquí hay un ejemplo.

Get-Package -Name BackupZilla -Requerido versión 2.0 | Paquete de eliminación

De esta manera, puede eliminar cualquier programa de su dispositivo, ¡incluso si está oculto!

Comparación de ambos métodos de eliminación

Entonces, ¿cuál de los dos debería elegir? Cuándo Obtener WmiObject muestra el programa que tiene, el método de eliminación es una opción más fácil. Sin embargo, si necesita crear su propio script para desinstalar programas en varias ordenadors, use el paquete de desinstalación.

Observaciones finales

secuencias de comandos de PowerShell conveniente para desinstalar el programa en múltiples dispositivos. Puede automatizar este proceso y ahorrar tiempo y esfuerzo con solo unas pocas líneas de código. Puede desinstalar el software usando PowerShell de 2 maneras: Obtener WmiObject y Paquete de eliminación. De los dos, Paquete de eliminación tiene más opciones y viene con más acceso a programas regulares y ocultos mientras Obtener WmiObject el comando solo puede usar clases WMI relacionadas.

¿Cuál de los dos es mejor? Depende del software que quieras desinstalar. Si PowerShell Obtener WmiObject reconoce esto, aproveche esta opción ya que es más fácil. De lo contrario, use Paquete de eliminación.

Preguntas frecuentes


¿Qué es Get-WmiObject?

Obtener WmiObject utiliza Herramientas de administración de Windows (WMI) para obtener información específica sobre su dispositivo. Sin embargo, solo puede obtener información de las clases WMI relevantes. Aquí hay unos ejemplos.

Obtener WmiObject -Clase Win32_Bios - Selecciona la BIOS.

Get-WmiObject -Espacio de nombres "raíz" - Obtiene el espacio de nombres raíz.

Get-WmiObject -Class Win32_Service -ComputerName 1.1.1.1 - Muestra los servicios que se ejecutan en una ordenador específica.

¿Cuál es la diferencia entre Get-WmiObject y Get-CIMInstance?

Obtener CIMINstance sustituido Obtener WmiObject con PowerShell 3.0. La salida de ambas clases es idéntica en el ordenador local, pero Obtener CIMINstance también funciona desde una ordenador remota. En general, Microsoft ha introducido clases CIM para aprovechar Windows Remote Control (WinRM).

¿Qué sucede si el programa no existe en absoluto?

¡Nada! Potencia Shell Obtener WmiObject simplemente no devuelve nada, y eso significa que el programa no existe. Si comete un error en el nombre del software, ¡PowerShell tampoco devolverá nada!

¿Puedo usar la ID del software para eliminarlo?

Sí tu puedes utilizar número de identificación. Simplemente use esta opción en Filtrar parámetro en lugar de nombre.

Get-WmiObject -Class Win32_Product -Filter "IdentifyingNumber =" {33D90MLP-2E35-7 DWR-903T-1V6W78501MQ0} ""


Recursos

Blog de los principales comandos de PowerShell de TechGenix

Para comenzar con los conceptos básicos de PowerShell, échale un vistazo Blog de comandos básicos de PowerShell.

Beneficios de TechGenix sobre los scripts de PowerShell

¿Debo usar scripts de PowerShell? lee este blog para obtener más información sobre el asombroso poder de los scripts de PowerShell.

TechGenix explica las diferencias entre PowerShell y PowerShell Core

Leer este blog para conocer las diferencias entre PowerShell y PowerShell Core.

Documentación de Microsoft

Leer Documentación de Microsoft Conozca los diversos parámetros y parámetros de Uninstall-Package.





Si quieres conocer otros artículos similares a Cómo desinstalar software usando PowerShell puedes visitar la categoría Tutoriales.

Artículos de interés

Subir

Si continuas utilizando este sitio aceptas el uso de cookies. Más información