Se connecter à des VM Windows à l'aide de PowerShell


Ce document explique comment se connecter à une instance de machine virtuelle (VM) Windows à l'aide de PowerShell.

Avant de commencer

  • Si ce n'est pas déjà fait, configurez l'authentification. L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud. Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine comme suit :

    Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :

    Console

    Lorsque vous utilisez la console Google Cloud pour accéder aux services et aux API Google Cloud, vous n'avez pas besoin de configurer l'authentification.

    gcloud

    1. Installez Google Cloud CLI, puis initialisez-la en exécutant la commande suivante :

      gcloud init
    2. Définissez une région et une zone par défaut.

Se connecter à l'aide de PowerShell

Si vous disposez d'un poste de travail Windows avec PowerShell, vous pouvez vous connecter à vos instances Windows Server via une session PowerShell distante.

  1. Si vous n'avez pas encore créé de nom d'utilisateur et de mot de passe sur l'instance Windows distante, créez ou réinitialisez votre mot de passe Windows.

  2. Ajoutez une règle de pare-feu qui ouvre le port 5986 sur le réseau VPC Google Cloud où se trouve l'instance Windows Server.

  3. Sur votre poste de travail local, ouvrez le terminal PowerShell.

  4. Facultatif : Vous pouvez initialiser une variable qui conservera vos identifiants et vous évitera de les saisir chaque fois que vous vous connectez à l'instance. Si vous ignorez cette étape, vous serez invité à saisir votre nom d'utilisateur et votre mot de passe ultérieurement.

    $credentials = Get-Credential
    
  5. Choisissez si vous souhaitez établir une session Powershell interactive ou appeler des commandes à distance sur votre VM Windows Server.

Établir une session PowerShell interactive

Pour établir une session PowerShell, exécutez la commande suivante :

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

Remplacez IP_ADDRESS par l'adresse IP externe, le nom DNS ou le nom de l'ordinateur Windows pour l'instance à laquelle vous souhaitez vous connecter.

Une fois la connexion établie, l'invite de commande change pour inclure l'adresse IP de l'instance Windows distante. Vous pouvez maintenant vous servir du terminal pour exécuter des commandes PowerShell sur l'instance Windows Server à distance.

Appeler des commandes sur votre VM Windows Server à distance

Au lieu de la commande Enter-PSSession, vous pouvez exécuter Invoke-Command avec l'option -ScriptBlock pour exécuter des commandes PowerShell sur l'instance à distance sans établir de session interactive.

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

Remplacez l'élément suivant :

  • IP_ADDRESS : adresse IP, nom du DNS ou nom de l'ordinateur Windows pour l'instance à laquelle vous souhaitez vous connecter.
  • SCRIPT : une ou plusieurs commandes à exécuter sur l'instance distante. Par exemple, spécifiez Get-EventLog -log "Windows PowerShell" pour obtenir la liste des événements du journal.

Étape suivante