RUBRIQUE
    about_Remote

DESCRIPTION COURTE
    Décrit comment exécuter des commandes distantes dans Windows 
    PowerShell.


DESCRIPTION LONGUE
    Vous pouvez exécuter des commandes distantes sur un ordinateur 
    unique ou sur plusieurs ordinateurs à l'aide d'une connexion 
    temporaire ou permanente. Vous pouvez également démarrer une 
    session interactive avec un ordinateur distant unique.
    
    Cette rubrique fournit une série d'exemples pour vous montrer 
    comment exécuter différents types de commandes distantes. Après 
    avoir essayé ces commandes de base, lisez les rubriques d'aide 
    qui décrivent chaque applet de commande utilisée dans ces 
    commandes. Les rubriques fournissent les détails et expliquent 
    comment vous pouvez modifier les commandes pour répondre à vos 
    besoins.

    Remarque : pour utiliser la communication à distance Windows 
    PowerShell, les ordinateurs local et distant doivent être 
    configurés pour cette fonction. Pour plus d'informations, 
    consultez about_Remote_Requirements. 
          

 COMMENT DÉMARRER UNE SESSION INTERACTIVE (ENTER-PSSESSION)

     La façon la plus simple d'exécuter des commandes distantes consiste 
     à démarrer une session interactive avec un ordinateur distant. 

     Lorsque la session démarre, les commandes que vous tapez s'exécutent 
     sur l'ordinateur distant comme si vous les y aviez tapées directement. 
     Vous ne pouvez vous connecter qu'à un seul ordinateur dans chaque 
     session interactive. 

     Pour démarrer une session interactive, utilisez l'applet de commande 
     Enter-PSSession. La commande suivante démarre une session interactive 
     avec l'ordinateur Server01 :

	enter-pssession server01

     L'invite de commandes change pour indiquer que vous êtes connecté à 
     l'ordinateur Server01.

	Server01\PS> 

     Vous pouvez maintenant taper des commandes sur l'ordinateur 
     Server01. 

     Pour mettre fin à la session interactive, tapez :

	exit-pssession


     Pour plus d'informations, consultez Enter-PSSession.

      

 COMMENT UTILISER DES APPLETS DE COMMANDE AVEC UN PARAMÈTRE 
 COMPUTERNAME POUR OBTENIR DES DONNÉES DISTANTES

    Plusieurs applets de commande ont un paramètre ComputerName 
    qui vous permet d'obtenir des objets d'ordinateurs distants. 

    Étant donné que ces applets de commande n'utilisent pas la 
    communication à distance Windows PowerShell basée sur la 
    Gestion des services Web pour communiquer, vous pouvez utiliser 
    le paramètre ComputerName de ces applets de commande sur tout 
    ordinateur qui exécute Windows PowerShell. Les ordinateurs 
    n'ont pas à être configurés pour la communication à distance 
    Windows PowerShell ni à répondre à la configuration minimale 
    requise pour la communication à distance. 

    Les applets de commande suivantes ont un paramètre ComputerName :
 
        Clear-EventLog    Limit-EventLog
        Get-Counter       New-EventLog
        Get-EventLog      Remove-EventLog
        Get-HotFix        Restart-Computer
        Get-Process       Show-EventLog
        Get-Service       Show-Service
        Get-WinEvent      Stop-Computer
        Get-WmiObject     Write-EventLog

  
    Par exemple, la commande suivante obtient les services sur 
    l'ordinateur distant Server01 :

	get-service -computername server01

      
    En général, les applets de commande qui prennent en charge la 
    communication à distance sans configuration spéciale ont un 
    paramètre ComputerName et pas de paramètre Session. Pour 
    rechercher ces applets de commande dans votre session, tapez :

       get-command | where { $_.parameters.keys -contains "ComputerName" -and $_.parameters.keys -notcontains "Session"}



 COMMENT EXÉCUTER UNE COMMANDE DISTANTE

    Pour exécuter d'autres commandes sur les ordinateurs distants, 
    utilisez l'applet de commande Invoke-Command.

    Pour exécuter une seule commande ou quelques commandes non liées, 
    utilisez le paramètre ComputerName de l'applet de commande 
    Invoke-Command pour indiquer les ordinateurs distants. Utilisez 
    le paramètre ScriptBlock pour spécifier la commande.

    Par exemple, la commande suivante exécute une commande Get-Culture sur 
    l'ordinateur Server01.

	invoke-command -computername Server01 -scriptblock {get-culture}

    Le paramètre ComputerName est conçu pour le cas où vous exécutez 
    une seule commande ou quelques commandes non liées sur un ou 
    plusieurs ordinateurs. Pour établir une connexion permanente 
    à un ordinateur distant, utilisez le paramètre Session.

 
 COMMENT CRÉER UNE CONNEXION PERMANENTE (PSSESSION)

    Lorsque vous utilisez le paramètre ComputerName de l'applet de 
    commande Invoke-Command, Windows PowerShell établit une connexion 
    seulement pour la commande. Il ferme ensuite la connexion lorsque 
    la commande est terminée. Toutes les variables ou fonctions 
    définies dans la commande sont perdues.

    Pour créer une connexion permanente à un ordinateur distant, 
    utilisez l'applet de commande New-PSSession. Par exemple, la 
    commande suivante crée des sessions PSSession sur les ordinateurs 
    Server01 et Server02, puis les enregistre dans la variable $s.

	$s = new-pssession -computername Server01, Server02


 COMMENT EXÉCUTER DES COMMANDES DANS UNE SESSION PSSESSION
  
    Avec une session PSSession, vous pouvez exécuter une série 
    de commandes distantes qui partagent des données, comme 
    des fonctions, des alias et les valeurs de variables.
    Pour exécuter des commandes dans une session PSSession, 
    utilisez le paramètre Session de l'applet de commande 
    Invoke-Command. 

    Par exemple, la commande suivante utilise l'applet de commande 
    Invoke-Command pour exécuter une commande Get-Process dans les 
    sessions PSSession sur les ordinateurs Server01 et Server02. 
    La commande enregistre les processus dans une variable $p dans 
    chaque session PSSession.

        invoke-command -session $s -scriptblock {$p = get-process}

    Étant donné que la session PSSession utilise une connexion 
    permanente, vous pouvez exécuter une autre commande dans 
    la même session PSSession qui utilise la variable $p.
    La commande suivante compte le nombre de processus enregistrés 
    dans $p.

        invoke-command -session $s -scriptblock {$p.count} 

 COMMENT EXÉCUTER UNE COMMANDE DISTANTE SUR PLUSIEURS ORDINATEURS

    Pour exécuter une commande distante sur plusieurs ordinateurs, 
    tapez tous les noms d'ordinateurs dans la valeur du paramètre 
    ComputerName de l'applet de commande Invoke-Command. Séparez les 
    noms par des virgules.

    Par exemple, la commande suivante exécute une commande 
    Get-Culture sur trois ordinateurs :

	invoke-command -computername S1, S2, S3 -scriptblock {get-culture}

    Vous pouvez également exécuter une commande dans plusieurs 
    sessions PSSession. Les commandes suivantes créent des sessions 
    PSSession sur les ordinateurs Server01, Server02 et Server03, 
    puis exécutent une commande Get-Culture dans chacune d'elles.

        $s = new-pssession -computername S1, S2, S3 
        invoke-command -session $s -scriptblock {get-culture}


    Pour inclure la liste d'ordinateurs de l'ordinateur local, tapez 
    le nom de l'ordinateur local, un point (.) ou " localhost ". 

	invoke-command -computername S1, S2, S3, localhost -scriptblock {get-culture}


 COMMENT EXÉCUTER UN SCRIPT SUR LES ORDINATEURS DISTANTS

    Pour exécuter un script local sur des ordinateurs distants, 
    utilisez le paramètre FilePath de l'applet de commande Invoke-Command.

    Par exemple, la commande suivante exécute le script Sample.ps1 sur les 
    ordinateurs S1 et S2 :

        invoke-command -computername S1, S2 -filepath C:\Test\Sample.ps1

    Les résultats du script sont retournés à l'ordinateur local. 
    Vous n'avez pas besoin de copier des fichiers.
  

 COMMENT ARRÊTER UNE COMMANDE DISTANTE

   Pour interrompre une commande, appuyez sur CTRL+C. La requête 
   d'interruption est passée à l'ordinateur distant où elle met 
   fin à la commande distante.



PLUS D'INFORMATIONS

    -- Pour plus d'informations sur la configuration requise pour la 
       communication à distance, consultez about_Remote_Requirements.

    -- Pour obtenir de l'aide sur la mise en forme de la sortie distante, 
       consultez about_Remote_Output.

    -- Pour plus d'informations sur le fonctionnement de la 
       communication à distance, la gestion des données distantes, 
       les configurations spéciales, les problèmes de sécurité et 
       d'autres questions fréquentes, consultez about_Remote_FAQ.

    -- Pour obtenir de l'aide sur la résolution d'erreurs de 
       communication à distance, consultez about_Remote_Troubleshooting.

    -- Pour plus d'informations sur les sessions PSSession et les 
       connexions permanentes, consultez about_PSSessions.

    -- Pour plus d'informations sur les tâches en arrière-plan 
       Windows PowerShell, consultez about_Jobs.

MOTS CLÉS
    about_Remoting

VOIR AUSSI
    about_PSSessions
    about_Remote_Requirements
    about_Remote_FAQ
    about_Remote_TroubleShooting
    Enter-PSSession
    Invoke-Command
    New-PSSession




Table des matières