RUBRIQUE
    about_PSSession_Details

DESCRIPTION COURTE
    Fournit des informations détaillées sur les sessions Windows 
    PowerShell et leur rôle dans les commandes distantes.

DESCRIPTION LONGUE
    Une session est un environnement dans lequel Windows PowerShell 
    s'exécute. Une session est créée pour vous dès que vous démarrez 
    Windows PowerShell. Vous pouvez créer des sessions supplémentaires, 
    appelées " sessions Windows PowerShell " ou " sessions PSSession ", 
    sur votre ordinateur ou un autre ordinateur.

    Contrairement aux sessions que Windows PowerShell crée pour vous, 
    vous contrôlez et gérez les sessions PSSession que vous créez.

    Les sessions PSSession jouent un rôle important dans l'informatique 
    à distance. Lorsque vous créez une session PSSession connectée à un 
    ordinateur distant, Windows PowerShell établit une connexion 
    permanente à cet ordinateur pour prendre en charge la session 
    PSSession. Vous pouvez utiliser la session PSSession pour exécuter 
    une série de commandes, de fonctions et de scripts qui partagent 
    des données. 

    Cette rubrique fournit des informations détaillées sur les sessions et 
    sessions PSSession dans Windows PowerShell. Pour plus d'informations 
    sur les tâches que vous pouvez effectuer avec les sessions, consultez 
    about_PSSessions.  

 À PROPOS DES SESSIONS
    Techniquement, une session est un environnement d'exécution dans 
    lequel Windows PowerShell s'exécute. Chaque session inclut une 
    instance du moteur System.Management.Automation et un programme 
    hôte dans lequel Windows PowerShell s'exécute. L'hôte peut être 
    la console Windows PowerShell familière ou un autre programme 
    exécutant des commandes, tel que Cmd.exe ou un programme conçu 
    pour héberger Windows PowerShell, tel que Windows PowerShell 
    ISE (Integrated Scripting Environment). 
    Du point de vue de Windows, une session est un processus Windows sur 
    l'ordinateur cible. 

    Chaque session est configurée indépendamment. Elle inclut ses propres 
    propriétés, sa propre stratégie d'exécution et ses propres profils. 
    L'environnement qui existe lorsque la session est créée persiste 
    pendant toute sa durée de vie, même si vous modifiez l'environnement 
    sur l'ordinateur. Toutes les sessions sont créées dans une portée 
    globale, même les sessions que vous créez dans un script. 

    Vous ne pouvez exécuter qu'une commande (ou qu'un pipeline de 
    commandes) à la fois dans une session. Une seconde commande 
    exécutée de façon synchrone (une à la fois) attend jusqu'à quatre 
    minutes que la première commande s'achève. Une seconde commande 
    exécutée de façon asynchrone (simultanément) échoue.

 À PROPOS DES SESSIONS PSSESSION
    Une session est créée dès que vous démarrez Windows PowerShell. De plus, 
    Windows PowerShell crée des sessions temporaires pour exécuter des 
    commandes individuelles. Toutefois, vous pouvez également créer des 
    sessions (appelées " sessions Windows PowerShell " ou " sessions 
    PSSession ") que vous contrôlez et gérez.
 
    Les sessions PSSession sont essentielles aux commandes distantes. 
    Si vous utilisez le paramètre ComputerName des applets de 
    commande Invoke-Command ou Enter-PSSession, Windows PowerShell 
    établit une session temporaire pour exécuter la commande, puis 
    ferme la session dès que la commande ou la session interactive 
    est terminée. 

    Toutefois, si vous utilisez l'applet de commande New-PSSession 
    pour créer une session PSSession, Windows PowerShell établit une 
    session persistante sur l'ordinateur distant, dans laquelle vous 
    pouvez exécuter plusieurs commandes ou sessions interactives. Les 
    sessions PSSession que vous créez restent ouvertes et disponibles 
    jusqu'à ce que vous les supprimiez ou jusqu'à ce que vous fermiez 
    la session dans laquelle elles ont été créées.

    Lorsque vous créez une session PSSession sur un ordinateur distant, 
    le système crée un processus PowerShell sur cet ordinateur et établit 
    une connexion entre l'ordinateur local et le processus de 
    l'ordinateur distant. Lorsque vous créez une session PSSession sur 
    l'ordinateur local, le nouveau processus et les connexions sont créés 
    sur cet ordinateur.


 QUAND AI-JE BESOIN D'UNE SESSION PSSESSION ?
    Les applets de commande Invoke-Command et Enter-PSSession ont les 
    paramètres ComputerName et Session. Vous pouvez utiliser l'un ou 
    l'autre de ces paramètres pour exécuter une commande distante. 

    Utilisez le paramètre ComputerName pour exécuter une commande 
    simple ou une série de commandes non liées sur un ou plusieurs 
    ordinateurs. 

    Pour exécuter des commandes qui partagent des données, vous avez 
    besoin d'une connexion permanente à l'ordinateur distant. Dans 
    ce cas, créez une session PSSession, puis utilisez le paramètre 
    Session pour exécuter des commandes dans la session PSSession.

    De nombreuses autres applets de commande obtenant des données 
    d'ordinateurs distants, telles que Get-Process, Get-Service, 
    Get-EventLog et Get-WmiObject ne disposent que du paramètre 
    ComputerName. Elles utilisent d'autres technologies que la 
    communication à distance Windows PowerShell pour recueillir 
    des données à distance. Ces applets de commande n'ont pas de 
    paramètre Session, mais vous pouvez utiliser l'applet de commande 
    Invoke-Command pour les exécuter dans une session PSSession.
 

 COMMENT CRÉER UNE SESSION PSSESSION ?
    Pour créer une session PSSession, utilisez l'applet de commande 
    New-PSSession. Vous pouvez utiliser New-PSSession pour créer une 
    session PSSession sur un ordinateur local ou distant.


 PUIS-JE CRÉER UNE SESSION PSSESSION SUR N'IMPORTE QUEL ORDINATEUR ? 
    Pour créer une session PSSession connectée à un ordinateur distant, 
    l'ordinateur doit être configuré pour la communication à distance 
    dans Windows PowerShell. L'utilisateur actuel doit être membre du 
    groupe Administrateurs sur l'ordinateur distant ou doit pouvoir 
    fournir les informations d'identification d'un membre du groupe 
    Administrateurs. Pour plus d'informations, consultez 
    about_Remote_Requirements.


 PUIS-JE VOIR LES SESSIONS PSSESSION CRÉÉES PAR D'AUTRES PERSONNES SUR MON 
 ORDINATEUR ?
    Non. Vous ne pouvez obtenir et gérer que les sessions PSSession 
    que vous avez créées dans la session active. Vous ne pouvez pas 
    voir les sessions PSSession que d'autres ont créées, même si 
    elles exécutent des commandes sur l'ordinateur local.


 PUIS-JE EXÉCUTER UNE TÂCHE EN ARRIÈRE-PLAN DANS UNE SESSION PSSESSION ?
    Oui. Une tâche en arrière-plan est une commande qui s'exécute de façon 
    asynchrone en arrière-plan sans interagir avec la session active. Lorsque 
    vous envoyez une commande pour démarrer une tâche, la commande retourne 
    un objet de traitement, mais la tâche continue de fonctionner à 
    l'arrière-plan jusqu'à ce qu'elle soit terminée.

    Pour démarrer une tâche en arrière-plan sur un ordinateur local, 
    utilisez la commande Start-Job. Vous pouvez exécuter la tâche en 
    arrière-plan dans une connexion temporaire (en utilisant le paramètre 
    ComputerName) ou dans une session PSSession (en utilisant le 
    paramètre Session). 

    Pour démarrer une tâche en arrière-plan sur un ordinateur 
    distant, utilisez l'applet de commande Invoke-Command avec son 
    paramètre AsJob ou l'applet de commande Invoke-Command pour 
    exécuter une commande Start-Job sur un ordinateur distant. 
    Lorsque vous utilisez le paramètre AsJob, vous pouvez utiliser 
    les paramètres ComputerName ou Session.

    Lorsque vous utilisez Invoke-Command pour exécuter une commande 
    Start-Job, vous devez exécuter la commande dans une session 
    PSSession. Si vous utilisez le paramètre ComputerName, Windows 
    PowerShell met fin à la connexion lorsque l'objet de traitement 
    est retourné et la tâche est interrompue.

    Pour plus d'informations, consultez about_jobs.


 PUIS-JE EXÉCUTER UNE SESSION INTERACTIVE ?
    Oui. Pour démarrer une session interactive avec un ordinateur distant, 
    utilisez l'applet de commande Enter-PSSession. Dans une session 
    interactive, les commandes que vous tapez s'exécutent sur 
    l'ordinateur distant comme si vous les y aviez tapées directement. 

    Vous pouvez exécuter une session interactive dans une session 
    temporaire (en utilisant le paramètre ComputerName) ou dans une 
    session PSSession (en utilisant le paramètre Session). Si vous 
    utilisez une session PSSession, celle-ci conserve les données des 
    commandes précédentes et toutes les données générées pendant la 
    session interactive pour les utiliser dans des commandes ultérieures.

    Lorsque vous mettez fin à la session interactive, la session 
    PSSession reste ouverte et disponible.

    Pour plus d'informations, consultez Enter-PSSession et Exit-PSSession.
 

 DOIS-JE SUPPRIMER LES SESSIONS PSSESSION ?
    Oui. Une session PSSession est un processus, à savoir un 
    environnement autonome qui utilise de la mémoire et d'autres  
    ressources, même lorsque vous ne l'utilisez pas. Lorsque vous  
    avez fini de travailler avec une session PSSession, supprimez-la. 
    Si vous créez plusieurs sessions PSSession, fermez celles que vous 
    n'utilisez pas et conservez les autres. 

    Pour supprimer des sessions PSSession, utilisez l'applet de 
    commande Remove-PSSession. Elle supprime les sessions PSSession 
    et libère toutes les ressources qu'elles utilisaient. 

    Vous pouvez également utiliser le paramètre TimeOut de 
    New-PSSession pour fermer une session PSSession inactive après un 
    intervalle que vous spécifiez. Pour plus d'informations, consultez 
    New-PSSession.

    Si vous ne supprimez pas la session PSSession ou si vous ne 
    définissez pas de délai d'expiration, la session PSSession reste 
    ouverte et disponible jusqu'à ce que vous la fermiez, jusqu'à ce 
    que vous fermiez la session dans laquelle elle a été créée ou 
    jusqu'à ce que vous quittiez Windows PowerShell. Toutefois, une 
    session PSSession sur un ordinateur distant sera déconnectée si 
    l'ordinateur distant ne répond pas pendant quatre minutes. 
    (L'ordinateur distant est configuré pour envoyer une impulsion 
    toutes les trois minutes.)

    Si vous enregistrez un objet PSSession dans une variable, puis 
    supprimez la session PSSession ou la laissez expirer, la variable 
    contient toujours l'objet PSSession, mais la session PSSession 
    est inactive et ne peut pas être utilisée, ni réparée.
    

 TOUTES LES SESSIONS ET SESSIONS PSSESSION SONT-ELLES IDENTIQUES ?
    Non. Les développeurs peuvent créer des sessions personnalisées 
    incluant seulement certains fournisseurs et certaines applets de 
    commande. Si une commande fonctionne dans une session, mais pas 
    dans une autre, ce peut être parce que la session est restreinte.


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




Table des matières