Remove PSSession - PowerShell
Overview
Remove-PSSession
disconnects and removes a PowerShell remote session established using New-PSSession. This allows you to end a remote session when it’s no longer needed, saving system resources and enhancing security.
Syntax
Remove-PSSession [-Session] <PSSession>
Options/Flags
- -Session: Specifies the session to remove. Use the
-Session
parameter to target a specific session by its identifying name or session ID. This parameter is mandatory to remove a session.
Examples
- Remove a specific session by its session ID:
Remove-PSSession -Session 987654321
- Close all active sessions:
Get-PSSession | Remove-PSSession
Common Issues
- Incorrect session ID: Ensure the specified session ID in the
-Session
parameter matches an existing session. Check session details usingGet-PSSession
before attempting removal. - Permission denied: Verify that the current user has the necessary permissions to remove the specified session. Administrative privileges may be required for certain sessions.
Integration
- Combine with
Get-PSSession
to identify and target specific sessions for removal. For example:
$session = Get-PSSession -Name "MySession"
Remove-PSSession -Session $session
- Use
Invoke-Command
to execute commands on a remote computer, then remove the session usingRemove-PSSession
to disconnect and clean up resources. For example:
Invoke-Command -ComputerName remotehost -ScriptBlock { Write-Host "Hello from remote!" }
Remove-PSSession -Session (Get-PSSession -ComputerName remotehost)
Related Commands
- New-PSSession: Creates a remote PowerShell session.
- Get-PSSession: Retrieves information about existing PowerShell sessions.
- Enter-PSSession: Enters an interactive session with a remote computer using a PSSession.
- Stop-PSSession: Suspends a PowerShell remote session without removing it.