Conectarse a máquinas virtuales 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 empezar

  • Si aún no lo has hecho, configura la autenticación. La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos 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. Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:

      gcloud init

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

    2. Set a default region and zone.

Conectarse mediante PowerShell

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

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

  2. Añade una regla de cortafuegos que abra el puerto 5986 en la Google Cloud red de VPC en la que se encuentra tu instancia de Windows Server.

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

  4. Opcional: Puedes inicializar una variable para almacenar tus credenciales de usuario para no tener que introducirlas cada vez que te conectes a la instancia. Si te saltas este paso, se te pedirá tu nombre de usuario y contraseña más adelante.

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

Establecer 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

Sustituye IP_ADDRESS por la dirección IP externa, el nombre DNS o el nombre de equipo Windows de la instancia a la que quieras conectarte.

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

Invocar comandos en una 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

Haz los cambios siguientes:

  • IP_ADDRESS: la dirección IP, el nombre de DNS o el nombre de equipo de Windows de la instancia a la que quieras conectarte.
  • SCRIPT: uno o varios comandos que se ejecutarán en la instancia remota. Por ejemplo, especifica Get-EventLog -log "Windows PowerShell" para obtener una lista de eventos de registro.

Siguientes pasos