Cómo cambiar la configuración de visualización del sistema utilizando PowerShell

PowerShell es una herramienta increíblemente poderosa tanto para administradores de sistemas Windows como para usuarios finales. En particular, cuando se trata de cambiar la configuración de visualización del sistema, utilizar comandos de PowerShell en lugar de la GUI puede ahorrar tiempo y permitir la creación de scripts de automatización. Este artículo detallará cómo cambiar configuraciones básicas como la resolución de pantalla y la orientación a través de PowerShell, lo que permite una personalización del entorno del sistema más eficiente y rápida.

Índice

Los conceptos básicos de la configuración de visualización

Antes de cambiar la configuración de visualización con PowerShell, es importante entender los comandos disponibles y su uso básico. En los sistemas Windows, los cmdlets ‘Get-DisplayResolution’ y ‘Set-DisplayResolution’ se utilizan principalmente para verificar y establecer la resolución de pantalla.

Comprobando la resolución

Para comprobar la resolución de visualización actual, utilice el siguiente comando.

Get-DisplayResolution

Este comando lista la resolución actual de todas las pantallas conectadas al sistema.

Estableciendo la resolución

Para cambiar a una resolución específica, utilice el cmdlet ‘Set-DisplayResolution’ y especifique la resolución deseada. Por ejemplo, para establecer la resolución a 1920×1080, ejecute lo siguiente.

Set-DisplayResolution -Width 1920 -Height 1080

Este comando cambia la resolución de visualización del sistema a los valores especificados. Sin embargo, utilizar este comando requiere privilegios de administrador.

Cambiando la orientación de la pantalla

Para cambiar la orientación de la pantalla, pueden ser necesarias herramientas adicionales o scripts, pero generalmente se hace utilizando ‘DisplaySettings’ o herramientas de terceros.

Cambiar la configuración de visualización con PowerShell comienza con estos comandos básicos. Al aprovechar estos comandos, puede manipular libremente varias configuraciones como la resolución y la orientación de la pantalla. Las siguientes secciones explicarán en detalle cómo cambiar estas configuraciones específicamente.

Cómo cambiar la resolución

Cambiar la resolución de visualización utilizando PowerShell es increíblemente útil para la personalización del sistema y la creación de scripts de automatización. Aquí, explicaremos específicamente los pasos para cambiar la resolución utilizando un script.

Estableciendo la resolución con un script

Primero, cree un script para cambiar la resolución. Este script utilizará el cmdlet Set-DisplayResolution para establecer la visualización del sistema a la resolución especificada. A continuación, se muestra un script de muestra para establecer la resolución a 1920×1080.

# Script de PowerShell para establecer la resolución a 1920x1080
try {
    # Verificar si se ejecuta con privilegios de administrador
    $currentUser = [Security.Principal.WindowsIdentity]::GetCurrent()
    $windowsPrincipal = New-Object Security.Principal.WindowsPrincipal($currentUser)
    $adminRole = [Security.Principal.WindowsBuiltInRole]::Administrator

    if ($windowsPrincipal.IsInRole($adminRole)) {
        # Establecer la resolución
        Set-DisplayResolution -Width 1920 -Height 1080 -Force
        Write-Host "La resolución se ha establecido a 1920x1080.";
    } else {
        Write-Host "Se requieren privilegios de administrador para ejecutar este script.";
    }
} catch {
    Write-Error "Ocurrió un error al establecer la resolución: $_";
}

Este script primero verifica si el usuario actual tiene privilegios de administrador y, si es así, procede a cambiar la resolución. El parámetro -Force fuerza el cambio de resolución sin confirmación del usuario.

Cómo ejecutar el script

Después de crear el script, abra PowerShell en modo administrador, navegue al directorio donde se guardó el script y luego ejecute el script. Puede ejecutar el script utilizando el siguiente comando.

.\ChangeResolution.ps1

Si el script se ejecuta correctamente, aparecerá un mensaje que indica “La resolución se ha establecido a 1920×1080.” y la resolución de visualización del sistema cambiará al valor especificado. Si el cambio de resolución falla por alguna razón, se mostrará un mensaje de error.

Este método permite cambiar fácilmente entre configuraciones de resolución específicas, habilitando la automatización del flujo de trabajo y cambios rápidos en la configuración del sistema.

Ajustando la orientación de la pantalla

Ajustar la orientación de la pantalla utilizando PowerShell es particularmente útil en entornos con múltiples monitores o para tareas específicas. Esta sección explicará cómo cambiar la orientación de la pantalla de horizontal a vertical o viceversa utilizando PowerShell.

Desafortunadamente, los cmdlets estándar de PowerShell no ofrecen directamente la funcionalidad para cambiar la orientación de la pantalla. Sin embargo, creando scripts que llamen a herramientas de terceros o a la API de Windows, esta operación puede lograrse.

Usando DisplaySettings

Un método implica usar una herramienta de línea de comandos de terceros llamada DisplaySettings. Esta herramienta permite controlar directamente la orientación de la pantalla desde la línea de comandos o scripts.

Uso básico de DisplaySettings

Primero, descargue e instale DisplaySettings en su sistema. Luego, puede cambiar la orientación de la pantalla ejecutando el siguiente comando.

DisplaySettings /setorientation:portrait

Este comando establece la orientación de la pantalla a vertical. De manera similar, puede usar la opción /setorientation:landscape para cambiarla a horizontal.

Script utilizando la API de Windows

Otro método es crear un script que llame directamente a la API de Windows para cambiar la orientación de la pantalla. Este enfoque requiere un conocimiento más avanzado pero permite un control más flexible.

# Ejemplo: Script conceptual para cambiar la orientación de la pantalla utilizando la API de Windows
# Nota: Este código es conceptual y no funcionará tal cual.
Add-Type -TypeDefinition @"
using System;
using System.Runtime.InteropServices;

public class Display {
    [DllImport("user32.dll")]
    public static extern bool SetDisplayConfig(...);
}
"@ 

# Llamada específica a la API para establecer la orientación de la pantalla
# Display.SetDisplayConfig(...);

Así, existen múltiples métodos para ajustar la orientación de la pantalla utilizando PowerShell. Elija el mejor método según su entorno de trabajo y objetivos.

Gestionando múltiples configuraciones de pantalla

Usar múltiples pantallas es común en los lugares de trabajo modernos, y configurar eficientemente la configuración de cada pantalla es esencial para un espacio de trabajo efectivo. Esta sección introduce métodos para gestionar múltiples configuraciones de pantalla utilizando PowerShell.

Identificando múltiples pantallas

El primer paso es identificar con precisión múltiples pantallas. Con PowerShell, puede usar el cmdlet Get-WmiObject para recuperar información sobre las pantallas conectadas al sistema.

Get-WmiObject -Namespace root\wmi -Class WmiMonitorID | ForEach-Object {
    $monitor = $_
    $name = ($monitor.InstanceName -split "\#")[2]
    $serial = [System.Text.Encoding]::ASCII.GetString($monitor.SerialNumberID)
    Write-Host "Nombre de la pantalla: $name, Número de serie: $serial";
}

Este comando muestra el nombre y número de serie de cada pantalla conectada al sistema, ayudando a identificar cada una.

Estableciendo la disposición de las pantallas

Una vez identificadas múltiples pantallas, el siguiente paso es establecer su disposición. Aunque no puede establecer directamente la disposición de las pantallas con PowerShell, puede usar DisplaySwitch.exe para cambiar la disposición de las pantallas desde un script.

# Establecer las pantallas en modo extendido
Start-Process DisplaySwitch.exe -ArgumentList "/extend"

Este comando instruye al sistema para usar las pantallas conectadas en modo extendido. De manera similar, puede usar las opciones /clone, /internal, /external para cambiar el modo de visualización.

Configuraciones individuales para resolución y orientación

En una configuración de múltiples pantallas, es posible que desee establecer la resolución y la orientación individualmente para cada pantalla. Utilice el cmdlet Set-DisplayResolution previamente introducido y herramientas de terceros para cambiar la orientación de la pantalla para personalizar la configuración de cada pantalla.

Gestionar múltiples configuraciones de pantalla implica la identificación precisa de las pantallas, la configuración adecuada de su disposición y el ajuste de la resolución y orientación para cada pantalla según sea necesario. Al utilizar PowerShell, estos procesos pueden automatizarse, construyendo un entorno de trabajo más eficiente.

Ejemplo de aplicación: Cambio automático de configuraciones de pantalla al lanzar aplicaciones específicas

Ajustar manualmente la resolución de pantalla y la orientación cada vez que trabaja con una aplicación específica puede ser tedioso. Este ejemplo de aplicación introduce un método para cambiar automáticamente las configuraciones de pantalla cuando se lanza una aplicación, utilizando scripts de PowerShell. En este ejemplo, el script cambiará la resolución al lanzar la aplicación y volverá a la resolución original al cerrar la aplicación.

Descripción general del script

Este script funciona de la siguiente manera:

  1. Lanzar una aplicación específica.
  2. Cambiar la resolución de pantalla a un valor especificado cuando se lanza la aplicación.
  3. Volver a la resolución original una vez que la aplicación se cierra.

Creando el script

A continuación, se muestra un script de PowerShell de muestra que detecta el lanzamiento de una aplicación especificada (por ejemplo, Photoshop), cambia la resolución y vuelve a la resolución original después de que la aplicación se cierra.

# Ruta de la aplicación
$appPath = "C:\Program Files\Adobe\Adobe Photoshop\Photoshop.exe"
# Nueva resolución
$newWidth = 1920
$newHeight = 1080
# Guardar resolución original
$originalResolution = Get-DisplayResolution

# Lanzar la aplicación
Start-Process $appPath

# Cambiar la resolución
Set-DisplayResolution -Width $newWidth -Height $newHeight -Force

# Esperar a que la aplicación se cierre
$process = Get-Process | Where-Object { $_.Path -eq $appPath }
while ($process -ne $null) {
    Start-Sleep -Seconds 5
    $process = Get-Process | Where-Object { $_.Path -eq $appPath }
}

# Volver a la resolución original
Set-DisplayResolution -Width $originalResolution.Width -Height $originalResolution.Height -Force

Este script está diseñado para cambiar automáticamente a una resolución óptima para trabajar con una aplicación específica (en este ejemplo, Photoshop) y volver a las configuraciones originales del usuario después de completar el trabajo. Este método puede mejorar significativamente la eficiencia del trabajo.

Solución de problemas: Problemas comunes y sus soluciones

Al cambiar las configuraciones de pantalla utilizando PowerShell, pueden surgir varios problemas comunes. Esta sección introduce esos problemas y sus soluciones.

Incapaz de cambiar la resolución

  • Causa: La pantalla objetivo puede no admitir la resolución especificada, o el script de PowerShell no se está ejecutando con privilegios de administrador.
  • Solución: Verifique las especificaciones de la pantalla y solo especifique resoluciones admitidas. Además, haga clic derecho en el script y seleccione “Ejecutar como administrador” para ejecutarlo.

Incapaz de cambiar la orientación de la pantalla

  • Causa: Cambiar la orientación de la pantalla puede requerir herramientas específicas o llamadas a la API de Windows.
  • Solución: Asegúrese de estar utilizando la herramienta correcta y considere introducir software de terceros o scripts que manipulen directamente la API de Windows si es necesario.

Los ajustes para múltiples pantallas no se reflejan

  • Causa: Las pantallas pueden no estar identificadas correctamente, o puede haber errores en el uso de DisplaySwitch.exe.
  • Solución: Reconfirme la información de identificación para las pantallas conectadas y asegúrese de que se está apuntando a la pantalla correcta para la aplicación de configuraciones. Además, revise las opciones de línea de comandos para DisplaySwitch.exe para asegurarse de que se están utilizando las opciones correctas.

Conclusión

Cambiar la configuración de visualización del sistema utilizando PowerShell es muy beneficioso para mejorar la eficiencia del trabajo y la automatización. Este artículo ha introducido una amplia gama de técnicas desde cambios básicos en la configuración de visualización hasta la gestión de múltiples pantallas y cambios automáticos de configuraciones al lanzar aplicaciones específicas. También se han discutido métodos de solución de problemas para problemas comunes. Al utilizar este conocimiento, puede construir un espacio de trabajo digital más cómodo y eficiente. Maximice las potentes características de PowerShell para agilizar sus tareas diarias.

Índice