¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Windows PowerShell
  3. Administrar aplicaciones
Extrait - Windows PowerShell Administrar puestos cliente Windows (2a edición)
Extractos del libro
Windows PowerShell Administrar puestos cliente Windows (2a edición)
1 opinión
Volver a la página de compra del libro

Administrar aplicaciones

Administrar las aplicaciones instaladas

En el capítulo Buscar y recopilar información, ha visto que es posible enumerar las aplicaciones instaladas en un puesto de trabajo, principalmente con la consulta WMI Win32_Product. Sin embargo, este método enumera únicamente las aplicaciones instaladas mediante Windows Installer.

Existen otros métodos, de los cuales hay uno particularmente interesante: utilizar el registro. Este método presenta varias ventajas:

  • Las manipulaciones en el registro con Windows PowerShell son sencillas, con los cmdlets llamados *-Item* (a excepción de Invoke-Item), como hemos visto en el capítulo Las unidades de Windows PowerShell.

  • Cada una de las aplicaciones instaladas en el equipo posee una clave de registro con cierta información asociada. Están disponibles en las siguientes claves de registro:

Arquitectura Windows

Clave de registro

Windows 32 bits

HKLM:\SOFTWARE\Microsoft\Windows\ CurrentVersion\ Uninstall

Windows 64 bits

HKLM:\SOFTWARE\Microsoft\Windows\ CurrentVersion\ Uninstall

HKLM:\SOFTWARE\Wow6432Node\Microsoft\ Windows\ CurrentVersion\Uninstall

Hay un par de datos muy interesantes relativos a cada aplicación instalada: el valor DisplayName, que se corresponde con el nombre de la aplicación tal y como está registrada en Programas y características del Panel de control. La segunda, que permite lanzar la desinstalación de la aplicación, es el valor UninstallString. A continuación veremos todo esto con más detalle.

images/EI351POWAW_CAP_8_001.png

Valores del registro que se encuentran en cada programa instalado

A nivel de Windows, esto corresponde a Desinstalar o cambiar un programa, presente en Programas y características del Panel de control.

images/EI351POWAW_CAP_8_002.png

Lista de aplicaciones instaladas

1. Enumerar las aplicaciones instaladas

En primer lugar, ¿cómo elaborar una lista de las aplicaciones instaladas? Para ello hay que recuperar el dato registrado en el valor del registro DisplayName. Este valor se encuentra en las subclaves de HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall y HKLM:\SOFTWARE\Wow 6432Node\Microsoft\Windows\CurrentVersion\ Uninstall para cada programa instalado. Es posible recuperar otra información, como el número de versión de la aplicación (mediante el valor DisplayVersion) o la fecha de instalación del programa (mediante el valor...

Lanzar un ejecutable

Para lanzar un ejecutable o un script, hay que indicar la ruta absoluta o la ruta relativa al archivo que desea ejecutar, salvo si está presente en alguna carpeta de la variable de entorno PATH.

Así, para lanzar archivos ejecutables o scripts presentes en la ubicación actual, estos deben estar precedidos de «.\».

Ejemplo:

PS C:\Temp> .\myScript.ps1 

El cmdlet Start-Process permite arrancar procesos y por lo tanto lanzar ejecutables. En este caso concreto, no es obligatorio precisar la ruta relativa si el archivo se encuentra en la carpeta actual:

Ejemplo:

PS C:\Temp> Start-Process MediaCreationToolx64.exe 

Para lanzar un script PowerShell desde otro entorno (símbolo del sistema o algún otro programa), debe invocarse el motor de script powershell.exe, seguido del script que se ha de ejecutar.

He aquí dos ejemplos que permiten lanzar un script PowerShell desde el símbolo del sistema (cmd.exe):

Ejemplo 1: lanzar un script de PowerShell desde el símbolo del sistema

C:\Temp>powershell.exe .\debug.ps1  
** ¡Inicio del script! **  
Hello World!  
  
viernes 26 de septiembre de 2014 15:20:01  
** ¡Fin del script! ** 

Ejemplo 2: mismo escenario que antes, pero con argumentos

En el caso de que se pasen argumentos en la ejecución del script, basta con indicarlos a continuación, separándolos con un carácter...

Windows Installer (MSI)

Saber instalar, actualizar y desinstalar aplicaciones por línea de comandos, y en ocasiones de manera remota, es algo fundamental para un administrador de puestos de trabajo. A continuación veremos cómo interactuar con los paquetes MSI, bien en un puesto de trabajo local, o también en uno o varios equipos remotos.

1. ¿Qué es Windows Installer?

Windows Installer (anteriormente conocido como Microsoft Installer) es un motor de instalación de aplicaciones que se utiliza para instalar, actualizar o desinstalar aplicaciones. El archivo que permite ejecutar Windows Installer es msiexec.exe, mientras que los paquetes que sirven para la instalación de las aplicaciones y de las actualizaciones son, respectivamente, archivos con las extensiones .msi y .msp.

Cada aplicación instalada con Windows Installer está identificada por un GUID, que se referencia a continuación en el registro. Estos identificadores se corresponden con las subclaves presentes en:

  • HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

  • HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\ Uninstall

images/EI351POWAW_CAP_8_004.png

Clave GUID de la aplicación paint.net en el Editor del Registro

También puede consultar la ayuda del ejecutable msiexec.exe. Este posee muchos parámetros, muy prácticos, que conviene conocer. Para abrir la ayuda, indique el parámetro /help en la llamada al ejecutable.

PS C:\Windows\system32> Start-Process msiexec.exe -ArgumentList "/help" 
images/EI351POWAW_CAP_8_005.png

Lista de parámetros de Windows Installer

2. Instalar un paquete MSI

El principal interés de un paquete MSI para un administrador de sistemas es, sin lugar a dudas, la posibilidad de instalar...