Conéctate a VM de Windows mediante PowerShell


En este documento, se describe cómo conectarse a una instancia de máquina virtual (VM) de Windows mediante PowerShell.

Antes de comenzar

Conéctate con PowerShell

Si tienes una estación de trabajo Windows con PowerShell, puedes conectarte a las instancias de Windows Server mediante una sesión remota de PowerShell.

  1. Si aún no creaste un nombre de usuario y una contraseña en la instancia remota de Windows, crea o restablece tu contraseña de Windows.

  2. Agrega una regla de firewall que abra el puerto 5986 en la red de VPC de Google Cloud donde se encuentra tu instancia de Windows Server.

  3. En tu estación de trabajo local, abre la terminal de PowerShell.

  4. De manera opcional, puedes inicializar una variable para contener las credenciales de usuario, de modo que no tengas que ingresarlas cada vez que te conectes a la instancia. Si omites este paso, se te pedirá tu nombre de usuario y contraseña más adelante.

    $credentials = Get-Credential
    
  5. Elige si deseas establecer una sesión de PowerShell interactiva o invocar comandos en tu VM de Windows Server de forma remota.

Establece una sesión interactiva de PowerShell

Para establecer una sesión de PowerShell, ejecuta el siguiente comando:

Enter-PSSession -ComputerName=IP_ADDRESS -UseSSL -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck) -Credential $credentials

Reemplaza IP_ADDRESS por la dirección IP externa, el nombre de DNS o el nombre de la computadora Windows de la instancia a la que deseas conectarte.

Después de conectarte, el símbolo del sistema cambia para incluir la dirección IP de la instancia remota de Windows. Ahora puedes usar la terminal para ejecutar comandos de PowerShell en la instancia remota de Windows Server.

Invoca comandos en tu VM de Windows Server de forma remota

Como alternativa al comando Enter-PSSession, puedes ejecutar Invoke-Command con la marca -ScriptBlock para ejecutar comandos de PowerShell en la instancia remota sin establecer una sesión interactiva.

Invoke-Command -ComputerName IP_ADDRESS -ScriptBlock { SCRIPT } -UseSSL -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck) -Credential $credentials

Reemplaza lo siguiente:

  • IP_ADDRESS: La dirección IP, el nombre de DNS o el nombre de la computadora Windows de la instancia a la que deseas conectarte.
  • SCRIPT: Uno o más comandos para ejecutar en la instancia remota. Por ejemplo, especifica Get-EventLog -log "Windows PowerShell" para obtener una lista de eventos de registro.

¿Qué sigue?