Remove-PSSession
Chiude una o più sessioni di PowerShell (PSSession).
Sintassi
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>]
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 una PSSession, inserire il Name, ComputerName, IDo InstanceID 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-Object {$_.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 i PSSession 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, localhost
o un punto (.
).
Tipo: | String[] |
Alias: | Cn |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | True |
-Confirm
Richiede conferma prima di eseguire il cmdlet.
Tipo: | SwitchParameter |
Alias: | cf |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | 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.
Tipo: | String[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | 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.
Tipo: | Int32[] |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | 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
.
Tipo: | Guid[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | 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
.
Tipo: | String[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | True |
-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
.
Tipo: | PSSession[] |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | 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
Tipo: | Guid[] |
Alias: | VMGuid |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | 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
.
Tipo: | String[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-WhatIf
Mostra cosa accadrebbe se il cmdlet viene eseguito. Il cmdlet non viene eseguito.
Tipo: | SwitchParameter |
Alias: | wi |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Input
È possibile inviare tramite pipe un oggetto sessione a questo cmdlet.
Output
None
Questo cmdlet non restituisce alcun output.
Note
PowerShell include gli alias seguenti per Remove-PSSession
:
Tutte le piattaforme:
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.