Remove-PSSession

Ferme une ou plusieurs sessions PowerShell (PSSessions).

Syntax

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 de commande Remove-PSSession ferme les sessions PowerShell (PSSessions) dans la session active. Il arrête toutes les commandes en cours d’exécution 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 de l’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 à l’aide d’ID

Remove-PSSession -Id 1, 2

Cette commande supprime les sessions PSSession qui ont les 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 PSSession de la session active. Bien que les formats des trois commandes semblent 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 PSSession connectées aux ordinateurs dont le nom commence par Serv.

Exemple 4 : Fermer des 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 en fonction de l’ID de 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 une session PSSession en fonction de son ID de instance ou remoteRunspaceID.

La première commande utilise l’applet de commande Get-PSSession pour obtenir les sessions PSSession dans la session active. Il utilise un opérateur de pipeline (|) pour envoyer les sessions 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 pour l’affichage.

À partir de l’affichage résultant, 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 de commande Remove-PSSession pour supprimer la session PSSession avec l’ID de instance spécifié.

Exemple 6 : Create une fonction qui supprime toutes les sessions de la session active

Function EndPSS { Get-PSSession | Remove-PSSession }

Cette fonction supprime toutes les sessions PSSession de 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 qui sont 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, localhost ou un point (.).

Type:String[]
Aliases:Cn
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-Confirm

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

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ContainerId

Spécifie un tableau d’ID de conteneurs. Cette applet de commande supprime des 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
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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 manière unique la session PSSession dans la session active. Il est plus facile de mémoriser et de taper que l’InstanceId, mais il n’est unique que dans la session active. Pour rechercher l’ID d’une session PSSession, exécutez l’applet de commande Get-PSSession sans paramètres.

Type:Int32[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-InstanceId

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

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

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

Type:Guid[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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 commande Remove-PSSession .

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-Session

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

Type:PSSession[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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[]
Aliases:VMGuid
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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 commande Get-VM .

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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 d'objets.

Notes

  • Le paramètre ID est obligatoire. Pour supprimer toutes les sessions PSSession de la session active, tapez Get-PSSession | Remove-PSSession.
  • Une session PSSession utilise une connexion permanente à un ordinateur distant. Create 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 mettez fin à une session, les sessions PSSession que vous avez créées dans cette session sont fermées de force.