Partager via


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

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 de commande Remove-PSSession ferme les sessions PowerShell (psSessions) dans la session active. Il arrête toutes les commandes qui s'exécutent dans les PSSessions, met fin à la PSSession, et libère les ressources utilisées par la PSSession. Si le PSSession est connecté à un ordinateur distant, cette applet de commande ferme également la connexion entre les ordinateurs locaux et distants.

Pour supprimer une session PSSession, saisissez la propriété Name, ComputerName, ID ou InstanceID de la session.

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

Exemples

Exemple 1 : Supprimer des sessions à l’aide d’ID

Remove-PSSession -Id 1, 2

Cette commande supprime les sessions PSSessions qui ont des ID 1 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 PSSessions de la session active. Bien que les trois formats de commande soient différents, ils ont le même effet.

Exemple 3 : Fermer des sessions à l’aide de noms

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

Ces commandes ferment les sessions PSSessions 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 PSSessions connectées au port 90. Vous pouvez utiliser ce format de commande pour identifier PSSessions par des propriétés autres que Nom_ordinateur, Nom, Id d’instanceet id d'.

Exemple 5 : Fermer une session en fonction de l’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 PS C:\> Remove-PSSession -InstanceID fc4e9dfa-f246-452d-9fa3-1adbdd64ae85

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

La première commande utilise l’applet de commande get-PSSession pour obtenir les PSSessions dans la session active. Il utilise un opérateur de pipeline (|) pour envoyer les psSessions à l’applet de commande Format-Table, 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 résultant, vous pouvez identifier la PSSession à fermer et copier-coller l’InstanceID de cette PSSession dans la deuxième commande.

La deuxième commande utilise l’applet de commande Remove-PSSession pour supprimer le 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 supprime toutes les psSessions 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 PSSessions 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, localhost ou 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

-Id

Spécifie un tableau d’identifiants de sessions. Cette applet de commande ferme les PSSessions 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 manière unique le PSSession dans la session en cours. Il est plus facile à mémoriser et à taper que l’ID d’instance, mais il n’est unique que dans la session active. Pour rechercher l’ID d’unPSSession , exécutez l’applet de commande Get-PSSession 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 PSSessions qui ont les ID d’instance spécifiés.

L’ID d’instance est un GUID qui identifie de manière unique un 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 représentant le PSSession. Pour rechercher l’InstanceID des PSSessions dans la session active, saisissez 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 PSSessions qui ont les noms conviviaux spécifiés. Les caractères génériques sont autorisés.

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

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 lesPSSessions, telles qu’une commande New-PSSession ou Get-PSSession. 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

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

Notes

  • Le paramètre Id est obligatoire. Pour supprimer toutes les PSSessions dans la session active, saisissez Get-PSSession | Remove-PSSession.
  • Une session PSSession utilise une connexion permanente à un ordinateur distant. Créez un 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 PSSessions sont spécifiques à la session active. Quand vous terminez une session, les sessions PSSessions que vous avez créées dans cette session sont fermées de force.