Conéctate a VM de Windows con PowerShell


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

Antes de comenzar

  • Si aún no lo hiciste, configura la autenticación. La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.

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?