Remove-PSSession

Ferme une ou plusieurs sessions PowerShell (PSSessions).

Syntaxe

Id (Par défaut)

Remove-PSSession
    [-Id] <Int32[]>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Session

Remove-PSSession
    [-Session] <PSSession[]>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ContainerId

Remove-PSSession
    -ContainerId <String[]>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

VMId

Remove-PSSession
    -VMId <Guid[]>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

VMName

Remove-PSSession
    -VMName <String[]>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

InstanceId

Remove-PSSession
    -InstanceId <Guid[]>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Name

Remove-PSSession
    -Name <String[]>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ComputerName

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 trois formats de commande soient 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’InstanceId de cette session 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, une adresse IP ou un nom de domaine complet d’un ou plusieurs ordinateurs distants. Pour spécifier l’ordinateur local, tapez le nom de l’ordinateur, localhostou un point (.).

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:True
DontShow:False
Alias:Cn

Jeux de paramètres

ComputerName
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-Confirm

Vous invite à confirmer avant d’exécuter l’applet de commande.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False
Alias:Cf

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-ContainerId

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

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

ContainerId
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants: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.

Propriétés du paramètre

Type:

Int32[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

Id
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants: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’InstanceId des sessions PSSessions dans la session active, tapez Get-PSSession | Format-Table Name, ComputerName, InstanceId.

Propriétés du paramètre

Type:

Guid[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

InstanceId
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants: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.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:True
DontShow:False

Jeux de paramètres

Name
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-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.

Propriétés du paramètre

Type:

PSSession[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

Session
Position:0
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants: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

Propriétés du paramètre

Type:

Guid[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:VMGuid

Jeux de paramètres

VMId
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-VMName

Spécifie un tableau de noms 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 l’applet de Get-VM commande.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

VMName
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-WhatIf

Affiche ce qui se passerait si l’applet de commande s’exécute. L’applet de commande ne s’exécute pas.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False
Alias:Wi

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.

Entrées

PSSession

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

Sorties

None

Cette applet de commande ne retourne aucune 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, tapez 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.