Condividi tramite


Remove-PSSession

Chiude una o più sessioni di PowerShell (PSSession).

Sintassi

Id (Impostazione predefinita)

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

Descrizione

Il cmdlet Remove-PSSession chiude le sessioni di PowerShell (PSSessions) nella sessione corrente. Arresta tutti i comandi in esecuzione nelle PSSession , termina la PSSession e rilascia le risorse che la PSSession stava utilizzando. Se il PSSession è connesso a un computer remoto, questo cmdlet chiude anche la connessione tra i computer locali e remoti.

Per rimuovere un PSSession, immettere il Name, ComputerName, Ido Instance Id della sessione.

Se il PSSession è stato salvato in una variabile, l'oggetto sessione rimane nella variabile, ma lo stato della PSSession è Chiuso.

Esempio

Esempio 1: Rimuovere le sessioni in base all'ID

Remove-PSSession -Id 1, 2

Questo comando rimuove gli PSSessions con ID 1 e 2.

Esempio 2: Rimuovere tutte le sessioni nella sessione corrente

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

Questi comandi rimuovono tutte le PSSessions nella sessione corrente. Anche se i tre formati di comando hanno un aspetto diverso, hanno lo stesso effetto.

Esempio 3: Chiudere le sessioni per nome

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

Questi comandi chiudono le PSSessions connesse ai computer con nomi che iniziano con Serv.

Esempio 4: Chiudere sessioni connesse a una porta

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

Questo comando chiude le PSSessions connesse alla porta 90. È possibile usare questo formato di comando per identificare PSSessions in base alle proprietà diverse da ComputerName, Name, InstanceIde ID .

Esempio 5: Chiudere una sessione tramite ID istanza

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

Questi comandi illustrano come chiudere una PSSession in base al relativo ID dell'istanza o al RemoteRunspaceID.

Il primo comando usa il cmdlet Get-PSSession per ottenere il PSSessions nella sessione corrente. Usa un operatore pipeline (|) per inviare il PSSessions al cmdlet Format-Table, che formatta le proprietà ComputerName e InstanceId in una tabella. Il parametro AutoSize comprime le colonne per la visualizzazione.

Dalla visualizzazione risultante, è possibile identificare il PSSession da chiudere e copiare e incollare il InstanceId di tale PSSession nel secondo comando.

Il secondo comando usa il cmdlet Remove-PSSession per rimuovere la sessione PS con l'ID istanza specificato.

Esempio 6: Creare una funzione che elimina tutte le sessioni nella sessione corrente

function EndPSS { Get-PSSession | Remove-PSSession }

Questa funzione chiude tutte le sessioni PS nella sessione corrente. Dopo aver aggiunto questa funzione al profilo di PowerShell, per eliminare tutte le sessioni, digitare EndPSS.

Parametri

-ComputerName

Specifica una matrice di nomi di computer. Questo cmdlet chiude le PSSessions che sono connesse ai computer specificati. Sono consentiti caratteri jolly.

Digitare il nome NetBIOS, un indirizzo IP o un nome di dominio completo di uno o più computer remoti. Per specificare il computer locale, digitare il nome del computer, localhosto un punto (.).

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:True
DontShow:False
Alias:CN

Set di parametri

ComputerName
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False
Alias:cfr

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-ContainerId

Specifica una matrice di ID di contenitori. Questo cmdlet rimuove le sessioni per ognuno dei contenitori specificati. Usare il comando docker ps per ottenere un elenco di ID contenitore. Per ulteriori informazioni, consultare la help per il comando docker ps.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

ContainerId
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-Id

Specifica una matrice di ID di sessioni. Questo cmdlet chiude le PSSessions con gli ID specificati. Digitare uno o più ID, separati da virgole o usare l'operatore di intervallo (..) per specificare un intervallo di ID.

Un ID è un numero intero che identifica in modo univoco il PSSession nella sessione corrente. È più facile da ricordare e digitare rispetto a InstanceId, ma è univoco solo nella sessione corrente. Per trovare l'ID di un PSSession, eseguire il cmdlet Get-PSSession senza parametri.

Proprietà dei parametri

Tipo:

Int32[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

Id
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-InstanceId

Specifica una matrice di ID istanza. Questo cmdlet chiude le PSSessioni con gli ID istanza specificati.

L'ID dell'istanza è un GUID che identifica univocamente una PSSession nella sessione attuale. L'ID istanza è univoco, anche quando sono in esecuzione più sessioni in un singolo computer.

L'ID istanza viene archiviato nella proprietà InstanceId dell'oggetto che rappresenta un PSSession. Per trovare il InstanceId dei PSSessions nella sessione corrente, digitare Get-PSSession | Format-Table Name, ComputerName, InstanceId.

Proprietà dei parametri

Tipo:

Guid[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

InstanceId
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-Name

Specifica una matrice di nomi descrittivi delle sessioni. Questo cmdlet chiude le PSSessions che hanno i nomi descrittivi specificati. Sono consentiti caratteri jolly.

Poiché il nome descrittivo di una PSSession potrebbe non essere univoco, quando si utilizza il parametro Nome, è consigliabile utilizzare anche il parametro WhatIf o il parametro Confirm nel comando Remove-PSSession.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:True
DontShow:False

Set di parametri

Name
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-Session

Specifica gli oggetti sessione del PSSessions da chiudere. Immettere una variabile contenente le PSSessions o un comando che crea o ottiene le PSSessions , come un comando New-PSSession o Get-PSSession. È anche possibile reindirizzare tramite pipe uno o più oggetti sessione a Remove-PSSession.

Proprietà dei parametri

Tipo:

PSSession[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

Session
Posizione:0
Obbligatorio:True
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-VMId

Specifica una matrice di ID di macchine virtuali. Questo cmdlet avvia una sessione interattiva con ognuna delle macchine virtuali specificate. Per visualizzare le macchine virtuali disponibili, usare il comando seguente:

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

Proprietà dei parametri

Tipo:

Guid[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:VMGuid

Set di parametri

VMId
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-VMName

Specifica una matrice di nomi di macchine virtuali. Questo cmdlet avvia una sessione interattiva con ognuna delle macchine virtuali specificate. Per visualizzare le macchine virtuali disponibili, usare il cmdlet Get-VM.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

VMName
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-WhatIf

Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False
Alias:Wi

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

CommonParameters

Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.

Input

PSSession

È possibile inviare tramite pipe un oggetto sessione a questo cmdlet.

Output

None

Questo cmdlet non restituisce alcun output.

Note

Windows PowerShell include gli alias seguenti per Remove-PSSession:

  • rsn

  • Il parametro Id è obbligatorio. Per eliminare tutte le PSSessions nella sessione corrente, digitare Get-PSSession | Remove-PSSession.

  • Un PSSession usa una connessione permanente a un computer remoto. Creare un PSSession per eseguire una serie di comandi che condividono dati. Per altre informazioni, digitare Get-Help about_PSSessions.

  • Le PSSessions sono specifiche nella sessione corrente. Quando si termina una sessione, le PSSessions create in tale sessione vengono chiuse forzatamente.