Partager via


Remove-PSSession

Ferme une ou plusieurs sessions PowerShell (PSSessions).

Syntaxe

Remove-PSSession
      [-Id] <Int32[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-PSSession
      [-Session] <PSSession[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-PSSession
      -ContainerId <String[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-PSSession
      -VMId <Guid[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-PSSession
      -VMName <String[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-PSSession
      -InstanceId <Guid[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-PSSession
      -Name <String[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-PSSession
      [-ComputerName] <String[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

L’applet Remove-PSSession de commande ferme les sessions PowerShell (PSSessions) dans la session active. Elle arrête toutes les commandes qui s’exécutent dans les sessions PSSession, met fin à la session PSSession et libère les ressources utilisées par la session PSSession . Si la session PSSession est connectée à un ordinateur distant, cette applet de commande ferme également la connexion entre les ordinateurs locaux et distants.

Pour supprimer une session PSSession, entrez le nom, le nom d’ordinateur, l’ID ou l’ID d’instance de la session.

Si vous avez enregistré la session PSSession dans une variable, l’objet de session reste dans la variable, mais l’état de la session PSSession est Fermé.

Exemples

Exemple 1 : Supprimer des sessions par ID

Remove-PSSession -Id 1, 2

Cette commande supprime les sessions PSSession qui ont des 1 ID et 2.

Exemple 2 : Supprimer toutes les sessions de la session active

Get-PSSession | Remove-PSSession
Remove-PSSession -Session (Get-PSSession)
$s = Get-PSSession
Remove-PSSession -Session $s

Ces commandes suppriment toutes les sessions PSSession dans la session active. Bien que les formats des trois commandes semblent différents, ils ont le même effet.

Exemple 3 : Fermer des sessions par nom

$r = Get-PSSession -ComputerName Serv*
$r | Remove-PSSession

Ces commandes ferment les sessions PSSession connectées aux ordinateurs qui ont des noms qui commencent par Serv.

Exemple 4 : Fermer les sessions connectées à un port

Get-PSSession | where {$_.port -eq 90} | Remove-PSSession

Cette commande ferme les sessions PSSession connectées au port 90. Vous pouvez utiliser ce format de commande pour identifier les sessions PSSession par des propriétés autres que ComputerName, Name, InstanceID et ID.

Exemple 5 : Fermer une session par ID d’instance

Get-PSSession | Format-Table ComputerName, InstanceID  -AutoSize

ComputerName InstanceId
------------ ----------------
Server01     875d231b-2788-4f36-9f67-2e50d63bb82a
localhost    c065ffa0-02c4-406e-84a3-dacb0d677868
Server02     4699cdbc-61d5-4e0d-b916-84f82ebede1f
Server03     4e5a3245-4c63-43e4-88d0-a7798bfc2414
TX-TEST-01   fc4e9dfa-f246-452d-9fa3-1adbdd64ae85

Remove-PSSession -InstanceID fc4e9dfa-f246-452d-9fa3-1adbdd64ae85

Ces commandes montrent comment fermer une session PSSession en fonction de son ID d’instance ou de RemoteRunspaceID.

La première commande utilise l’applet Get-PSSession de commande pour obtenir les sessions PSSession dans la session active. Il utilise un opérateur de pipeline (|) pour envoyer les sessions PSSession à l’applet Format-Table de commande, qui met en forme leurs propriétés ComputerName et InstanceID dans une table. Le paramètre AutoSize compresse les colonnes à afficher.

À partir de l’affichage obtenu, vous pouvez identifier la session PSSession à fermer, puis copier et coller l’ID d’instance de ce PSSession dans la deuxième commande.

La deuxième commande utilise l’applet Remove-PSSession de commande pour supprimer la session PSSession avec l’ID d’instance spécifié.

Exemple 6 : Créer une fonction qui supprime toutes les sessions de la session active

Function EndPSS { Get-PSSession | Remove-PSSession }

Cette fonction ferme chaque session PSSession dans la session active. Après avoir ajouté cette fonction à votre profil PowerShell, pour supprimer toutes les sessions, tapez EndPSS.

Paramètres

-ComputerName

Spécifie un tableau de noms d’ordinateurs. Cette applet de commande ferme les sessions PSSession connectées aux ordinateurs spécifiés. Les caractères génériques sont autorisés.

Tapez le nom NetBIOS, l'adresse IP ou le nom de domaine complet d'un ou de plusieurs ordinateurs distants. Pour spécifier l’ordinateur local, tapez le nom de l’ordinateur, localhostou un point (.).

Type:String[]
Alias:Cn
Position:0
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:True

-Confirm

Vous demande une confirmation avant d’exécuter l’applet de commande.

Type:SwitchParameter
Alias:cf
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ContainerId

Spécifie un tableau d’ID de conteneurs. Cette applet de commande supprime les sessions pour chacun des conteneurs spécifiés. Utilisez la docker ps commande pour obtenir la liste des ID de conteneur. Pour plus d’informations, consultez l’aide de la commande docker ps .

Type:String[]
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-Id

Spécifie un tableau d’ID de sessions. Cette applet de commande ferme les sessions PSSession avec les ID spécifiés. Tapez un ou plusieurs ID, séparés par des virgules ou utilisez l’opérateur de plage (..) pour spécifier une plage d’ID.

Un ID est un entier qui identifie de façon unique la session PSSession dans la session active. Il est plus facile de mémoriser et de taper que l’Id d’instance, mais il est unique uniquement dans la session active. Pour rechercher l’ID d’une session PSSession, exécutez l’applet Get-PSSession de commande sans paramètres.

Type:Int32[]
Position:0
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-InstanceId

Spécifie un tableau d’ID d’instance. Cette applet de commande ferme les sessions PSSession qui ont les ID d’instance spécifiés.

L’ID d’instance est un GUID qui identifie de manière unique une session PSSession dans la session active. L’ID d’instance est unique, même si plusieurs sessions s’exécutent sur un seul ordinateur.

L’ID d’instance est stocké dans la propriété InstanceID de l’objet qui représente une session PSSession. Pour rechercher l’ID d’instance des sessions PSSessions dans la session active, tapez Get-PSSession | Format-Table Name, ComputerName, InstanceId.

Type:Guid[]
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-Name

Spécifie un tableau de noms conviviaux de sessions. Cette applet de commande ferme les sessions PSSession qui ont les noms conviviaux spécifiés. Les caractères génériques sont autorisés.

Étant donné que le nom convivial d’une session PSSession peut ne pas être unique, lorsque vous utilisez le paramètre Name , envisagez également d’utiliser le paramètre WhatIf ou Confirm dans la Remove-PSSession commande.

Type:String[]
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:True

-Session

Spécifie les objets de session des sessions PSSessions à fermer. Entrez une variable qui contient les psSessions ou une commande qui crée ou obtient les sessions PSSession, telles qu’une ou Get-PSSession une New-PSSession commande. Vous pouvez également diriger un ou plusieurs objets de session vers Remove-PSSession.

Type:PSSession[]
Position:0
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-VMId

Spécifie un tableau d’ID de machines virtuelles. Cette applet de commande démarre une session interactive avec chacune des machines virtuelles spécifiées. Pour afficher les machines virtuelles disponibles, utilisez la commande suivante :

Get-VM | Select-Object -Property Name, ID

Type:Guid[]
Alias:VMGuid
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-VMName

Spécifie un tableau de noms d'ordinateurs virtuels. Cette applet de commande démarre une session interactive avec chacune des machines virtuelles spécifiées. Pour afficher les machines virtuelles disponibles, utilisez l’applet de Get-VM commande.

Type:String[]
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-WhatIf

Montre ce qui se passe en cas d’exécution de l’applet de commande. L’applet de commande n’est pas exécutée.

Type:SwitchParameter
Alias:wi
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

Entrées

PSSession

Vous pouvez diriger un objet de session vers cette applet de commande.

Sorties

None

Cette applet de commande ne retourne pas de sortie.

Notes

PowerShell inclut les alias suivants pour Remove-PSSession:

  • Toutes les plateformes :

    • rsn
  • Le paramètre ID est obligatoire. Pour supprimer toutes les sessions PSSession dans la session active, tapez Get-PSSession | Remove-PSSession.

  • Une session PSSession utilise une connexion persistante à un ordinateur distant. Créez une session PSSession pour exécuter une série de commandes qui partagent des données. Pour plus d'informations, voir Get-Help about_PSSessions.

  • Les sessions PSSession sont spécifiques à la session active. Lorsque vous terminez une session, les sessions PSSession que vous avez créées dans cette session sont fermées de force.