RUBRIQUE
    about_PSSessions

DESCRIPTION COURTE
    Décrit les sessions Windows PowerShell (sessions PSSession) et 
    explique comment établir une connexion permanente à un ordinateur 
    distant. 


DESCRIPTION LONGUE
    Pour exécuter des commandes Windows PowerShell sur un ordinateur 
    distant, vous pouvez utiliser le paramètre ComputerName d'une 
    applet de commande ou créer une session PSSession Windows 
    PowerShell pour y exécuter les commandes. 

    Lorsque vous créez une session PSSession, Windows PowerShell 
    établit une connexion permanente à l'ordinateur distant. 
    Utilisez une session PSSession pour exécuter une série de 
    commandes connexes sur un ordinateur distant. Les commandes 
    qui s'exécutent dans la même session PSSession peuvent partager 
    des données, telles que les valeurs des variables, alias et fonctions.

    Vous pouvez également créer une session PSSession sur 
    l'ordinateur local et y exécuter des commandes. Une session 
    PSSession locale utilise l'infrastructure de communication à distance 
    Windows PowerShell pour créer et conserver la session PSSession.

    Cette rubrique explique comment créer, utiliser, obtenir et 
    supprimer des sessions PSSession. Pour plus d'informations, 
    consultez about_PSSession_Details.

    Remarque : les sessions PSSession utilisent l'infrastructure 
                de communication à distance Windows PowerShell.
                Pour utiliser des sessions PSSession, les ordinateurs 
                locaux et distants doivent être configurés pour la 
                communication à distance. Pour plus d'informations, 
                consultez about_Remote_Requirements. 

                Sous Windows Vista et les versions ultérieures de Windows, 
                pour créer une session PSSession sur un ordinateur local, 
                vous devez démarrer Windows PowerShell avec l'option 
                " Exécuter en tant qu'administrateur ". 

 QU'EST-CE QU'UNE SESSION ?
    Une session est un environnement dans lequel Windows PowerShell 
    s'exécute.
 
    Dès que vous démarrez Windows PowerShell, une session est créée 
    pour vous et vous pouvez y exécuter des commandes. Vous pouvez 
    également ajouter des éléments à votre session, tels que des 
    modules et composants logiciels enfichables, mais aussi en créer, 
    par exemple des variables, des fonctions et des alias. Ces éléments 
    existent uniquement dans la session et sont supprimés lorsqu'elle 
    se termine.

    Vous pouvez également créer des sessions supplémentaires, appelées 
    " sessions Windows PowerShell " ou " sessions PSSession ", sur 
    l'ordinateur local ou un ordinateur distant. Comme dans la session 
    par défaut, vous pouvez exécuter des commandes dans une session 
    PSSession et ajouter et créer des éléments.  

    Toutefois, contrairement à la session qui démarre automatiquement,
    vous pouvez contrôler les sessions PSSession que vous créez. 
    Vous pouvez obtenir, créer, configurer et supprimer ce type de 
    session et vous pouvez exécuter plusieurs commandes dans la même 
    session PSSession. La session PSSession reste ouverte et 
    disponible jusqu'à ce que vous la supprimiez de votre session.
      
    En général, vous créez une session PSSession pour exécuter une 
    série de commandes connexes sur un ordinateur distant. Lorsque 
    vous créez une session PSSession sur un ordinateur distant, Windows 
    PowerShell établit une connexion permanente à cet ordinateur pour 
    prendre en charge la session. 

    Si vous utilisez le paramètre ComputerName des applets de 
    commande Invoke-Command ou Enter-PSSession pour exécuter une commande 
    distante ou démarrer une session interactive, Windows PowerShell crée une 
    session temporaire sur l'ordinateur distant et ferme la session dès que 
    la commande s'achève ou que la session interactive se termine. Vous ne 
    pouvez pas contrôler ces sessions temporaires, ni les utiliser pour 
    autre chose qu'une commande simple ou une session interactive unique.

    Dans Windows PowerShell, la " session active " est la session 
    dans laquelle vous travaillez. La " session active " peut faire 
    référence à toute session, y compris à une session temporaire ou 
    à une session PSSession.


 POURQUOI UTILISER UNE SESSION PSSESSION ?
    Utilisez une session PSSession lorsque vous avez besoin d'une 
    connexion permanente à un ordinateur distant. Avec une session 
    PSSession, vous pouvez exécuter une série de commandes qui 
    partagent des données, telles que la valeur des variables, 
    le contenu d'une fonction ou la définition d'un alias.

    Vous pouvez exécuter des commandes distantes sans créer de 
    session PSSession. Utilisez le paramètre ComputerName d'applets 
    de commande capables de fonctionner à distance pour exécuter 
    une commande simple ou une série de commandes non liées sur 
    un ou plusieurs ordinateurs.

    Lorsque vous utilisez le paramètre ComputerName de Invoke-Expressi
    on ou de Enter-PSSession, Windows PowerShell établit une connexion 
    temporaire à l'ordinateur distant puis la ferme dès que la commande 
    s'achève. Tous les éléments de données que vous créez sont perdus 
    lorsque la connexion est fermée. 

    Les autres applets de commande qui disposent d'un paramètre 
    ComputerName, telles que Get-Eventlog et Get-WmiObject, utilisent des 
    technologies de communication à distance différentes pour recueillir 
    des données. Aucune d'elles ne crée de connexion permanente comme le 
    fait une session PSSession.
     

 COMMENT CRÉER UNE SESSION PSSESSION
    Pour créer une session PSSession, utilisez l'applet de commande 
    New-PSSession. Pour créer la session PSSession sur un ordinateur 
    distant, utilisez le paramètre ComputerName de l'applet de commande 
    New-PSSession.

    Par exemple, la commande suivante crée une session PSSession sur 
    l'ordinateur Server01.

        new-pssession -computername Server01

    Lorsque vous envoyez la commande, New-PSSession crée la session 
    PSSession et retourne un objet qui la représente. Vous pouvez 
    enregistrer l'objet dans une variable lorsque vous créez la session 
    PSSession ou utiliser une commande Get-PSSession pour obtenir la session 
    PSSession plus tard.

    Par exemple, la commande suivante crée une session PSSession sur 
    l'ordinateur Server01 et enregistre l'objet qui en résulte dans la 
    variable $ps.
    
        $ps = new-pssession -computername Server01


 COMMENT CRÉER DES SESSIONS PSSESSION SUR PLUSIEURS ORDINATEURS
    Pour créer des sessions PSSession sur plusieurs ordinateurs, 
    utilisez le paramètre ComputerName de l'applet de commande 
    New-PSSession. Tapez les noms des ordinateurs distants dans 
    une liste séparée par des virgules. 

    Par exemple, pour créer des sessions PSSession sur les 
    ordinateurs Server01, Server02 et Server03, tapez :

        new-PSSession -computername Server01, Server02, Server03

    New-PSSession crée une session PSSession sur chacun des 
    ordinateurs distants. 


 COMMENT OBTENIR DES SESSIONS PSSESSION 
    Pour obtenir les sessions PSSession qui ont été créées dans votre 
    session active, utilisez l'applet de commande Get-PSSession. 
    Get-PSSession retourne le même type d'objet que New-PSSession. 

    La commande suivante obtient toutes les sessions PSSession qui ont été 
    créées dans la session active.

        get-PSSession

    L'affichage par défaut des sessions PSSession affiche leur ID et 
    un nom d'affichage par défaut. Vous pouvez affecter un autre nom 
    d'affichage lorsque vous créez la session.

        Id   Name       ComputerName    State    ConfigurationName
        ---  ----       ------------    -----    ---------------------
        1    Session1   Server01        Opened   Microsoft.PowerShell
        2    Session2   Server02        Opened   Microsoft.PowerShell
        3    Session3   Server03        Opened   Microsoft.PowerShell

   
    Vous pouvez également enregistrer les sessions PSSession dans une 
    variable. La commande suivante obtient les sessions PSSession et les 
    enregistre dans la variable $ps123.

        $ps123 = get-PSSession  

    Lorsque vous utilisez des applets de commande PSSession, vous 
    pouvez faire référence à une session PSSession par son ID, par son 
    nom ou par son ID d'instance (GUID). La commande suivante 
    obtient une session PSSession par son ID et l'enregistre dans la 
    variable $ps01.

        $ps01 = get-PSSession -id 1

    Get-PSSession obtient uniquement les sessions PSSession qui ont 
    été créées dans la session active. Elle n'obtient pas les 
    sessions PSSession qui ont été créées dans d'autres sessions ou 
    sur d'autres ordinateurs, même si les sessions sont connectées 
    à l'ordinateur local et y exécutent des commandes. 



 COMMENT EXÉCUTER DES COMMANDES DANS UNE SESSION PSSESSION
    Pour exécuter une commande dans une ou plusieurs sessions PSSession, 
    utilisez l'applet de commande Invoke-Command. Utilisez le paramètre 
    Session pour spécifier les sessions PSSession et le paramètre 
    ScriptBlock pour spécifier la commande.

    Par exemple, pour exécuter une commande Get-ChildItem (" dir ") 
    dans chacune des trois sessions PSSession enregistrées dans la 
    variable $ps123, tapez :

        invoke-command -session $ps123 -scriptblock {get-childitem}

 
 COMMENT SUPPRIMER DES SESSIONS PSSESSION
    Lorsque vous avez fini de travailler avec la session PSSession, 
    utilisez l'applet de commande Remove-PSSession pour la supprimer 
    et libérer les ressources qu'elle utilisait.

        remove-PSSession -session $ps

        - ou - 
          
        remove-PSSession -id 1
 
    Si vous ne supprimez pas la session PSSession, elle reste ouverte et 
    disponible jusqu'à ce que vous fermiez la session active ou quittiez 
    Windows PowerShell.

    Vous pouvez également utiliser le paramètre TimeOut de 
    New-PSSession pour établir un délai d'expiration pour une session 
    PSSession inactive. Pour plus d'informations, consultez 
    new-PSSession.


 LES APPLETS DE COMMANDE DE SESSION PSSESSION

    Applet de commande    Description
    ------------------    -----------
    New-PSSession         Crée une session PSSession sur un ordinateur local ou distant.
    Get-PSSession         Obtient les sessions PSSession de la session active.
    Remove-PSSession      Supprime les sessions PSSession de la session active.
    Enter-PSSession       Démarre une session interactive.
    Exit-PSSession        Met fin à une session interactive.

    Pour obtenir une liste des applets de commande PSSession, tapez :
	
	get-help *-PSSession


 PLUS D'INFORMATIONS
    Pour plus d'informations sur les sessions PSSession, consultez 
    about_PSSession_Details.
    

VOIR AUSSI
    about_Remote
    about_Remote_Requirements
    New-PSSession
    Get-PSSession
    Remove-PSSession
    Enter-PSSession
    Exit-PSSession
    Invoke-Command  




Table des matières