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

Sintassi

Remove-PSSession [[-ComputerName] <string[]>] [-Confirm] [-WhatIf] [<CommonParameters>]

Remove-PSSession [-Id] <Int32[]> [-Confirm] [-WhatIf] [<CommonParameters>]

Remove-PSSession [-InstanceId <Guid[]>] [-Confirm] [-WhatIf] [<CommonParameters>]

Remove-PSSession [-Name <string[]>] [-Confirm] [-WhatIf] [<CommonParameters>]

Remove-PSSession [-Session] <PSSession[]> [-Confirm] [-WhatIf] [<CommonParameters>]

Descrizione

Il cmdlet Remove-PSSession chiude le sessioni di Windows PowerShell (PSSession) nella sessione corrente. Arresta qualsiasi comando in esecuzione nelle sessioni PSSession, termina la sessione PSSession e rilascia le risorse utilizzate da quest'ultima. Se la sessione PSSession è connessa a un computer remoto, Remove-PSSession chiude anche la connessione tra i computer locali e remoti.

Per rimuovere una sessione PSSession, immettere Name, ComputerName, ID o InstanceID della sessione.

Se la sessione PSSession è stata salvata in una variabile, l'oggetto sessione rimane nella variabile, ma lo stato della sessione PSSession è "Closed".

Parametri

-ComputerName <string[]>

Chiude le sessioni PSSession connesse ai computer specificati. È consentito l'utilizzo di 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 (.).

Obbligatorio?

false

Posizione?

1

Valore predefinito

Accettare input da pipeline?

true (ByPropertyName)

Accettare caratteri jolly?

true

-Id <Int32[]>

Chiude le sessioni PSSession con gli ID specificati. Digitare uno o più ID (separati da virgole) o utilizzare l'operatore intervallo (..) per specificare un intervallo di ID

Un ID è un valore intero che identifica in modo univoco la sessione PSSession nella sessione corrente. È più facile da ricordare e digitare rispetto all'ID istanza, ma è univoco solo nella sessione corrente. Per trovare l'ID di una sessione PSSession, utilizzare Get-PSSession senza parametri.

Obbligatorio?

true

Posizione?

1

Valore predefinito

Accettare input da pipeline?

true (ByPropertyName)

Accettare caratteri jolly?

false

-InstanceId <Guid[]>

Chiude le sessioni PSSession con gli ID istanza specificati.

L'ID istanza è un GUID che identifica in modo univoco una sessione PSSession nella sessione corrente. InstanceID è univoco, anche quando si dispone di più sessioni in esecuzione in un unico computer.

InstanceID viene archiviato nella proprietà InstanceID dell'oggetto che rappresenta una sessione PSSession. Per trovare l'ID istanza delle sessioni PSSession nella sessione corrente, digitare "Get-PSSession | Format-Table Name, ComputerName, InstanceId".

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

true (ByPropertyName)

Accettare caratteri jolly?

false

-Name <string[]>

Chiude le sessioni PSSession con i nomi descrittivi specificati. È consentito l'utilizzo di caratteri jolly.

Poiché il nome descrittivo di una sessione PSSession potrebbe non essere univoco, quando si utilizza il parametro Name si consideri anche l'utilizzo del parametro WhatIf o Confirm nel comando Remove-PSSession.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

true (ByPropertyName)

Accettare caratteri jolly?

true

-Session <PSSession[]>

Specifica gli oggetti sessione delle sessioni PSSession da chiudere. Immettere una variabile che contiene le sessioni PSSession o un comando che consente di creare o ottenere tali sessioni, ad esempio New-PSSession o Get-PSSession. È inoltre possibile reindirizzare uno o più oggetti sessione a Remove-PSSession.

Obbligatorio?

true

Posizione?

1

Valore predefinito

Accettare input da pipeline?

true (ByValue, ByPropertyName)

Accettare caratteri jolly?

false

-Confirm

Chiede una conferma prima di eseguire il comando.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-WhatIf

Descrive ciò che accadrebbe se si eseguisse il comando senza eseguirlo realmente.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

<CommonParameters>

Questo cmdlet supporta i parametri comuni -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Per ulteriori informazioni, vedere about_Commonparameters.

Input e output

Il tipo di input è il tipo degli oggetti che è possibile reindirizzare al cmdlet. Il tipo restituito è il tipo degli oggetti restituiti dal cmdlet.

Input

System.Management.Automation.Runspaces.PSSession

È possibile reindirizzare un oggetto sessione a Remove-PSSession.

Output

Nessuno

Remove-PSSession non restituisce alcun oggetto.

Note

Il parametro ID è obbligatorio. Non è possibile digitare "remove-pssession" senza parametri. Per eliminare tutte le sessioni PSSession nella sessione corrente, digitare "Get-PSSession | remove-pssession".

Una sessione PSSession utilizza una connessione permanente a un computer remoto. Creare una sessione PSSession per eseguire una serie di comandi che condividono dati. Per ulteriori informazioni, vedere about_PSSessions.

Le sessioni PSSession sono specifiche della sessione corrente. Quando si termina una sessione, le sessioni PSSession create al suo interno vengono chiuse forzatamente.

Esempio 1

C:\PS>remove-pssession -id 1, 2

Descrizione
-----------
Questo comando rimuove le sessioni PSSession con ID 1 e 2.






Esempio 2

C:\PS>get-pssession | remove-pssession 

C:\PS> remove-pssession -session (get-pssession)

C:\PS> $s = get-pssession 
C:\PS> remove-pssession -session $s".

Descrizione
-----------
Questi comandi rimuovono tutte le sessioni PSSession nella sessione corrente. Anche se i tre formati di comando appaiono diversi, hanno lo stesso effetto.






Esempio 3

C:\PS>$r = get-pssession -computername Serv*

$r | remove-pssession

Descrizione
-----------
Questi comandi chiudono le sessioni PSSession connesse a computer i cui nomi iniziano con "Serv".






Esempio 4

C:\PS>get-pssession | where {$_.port -eq 90} | remove-pssession

Descrizione
-----------
Questo comando chiude le sessioni PSSession connesse alla porta 90. È possibile utilizzare questo formato di comando per identificare le sessioni PSSession in base a proprietà diverse da ComputerName, Nome, InstanceID e ID.






Esempio 5

C:\PS>get-pssession | ft computername, instanceID  -auto

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

C:\PS> remove-pssession -InstanceID fc4e9dfa-f246-452d-9fa3-1adbdd64ae85

Descrizione
-----------
In questi comandi viene illustrato come chiudere una sessione PSSession in base al relativo ID istanza (RemoteRunspaceID). 

Il primo comando utilizza il cmdlet Get-PSsession per ottenere le sessioni PSSession della sessione corrente. Viene utilizzato un operatore pipeline (|) per inviare le sessioni PSSession al cmdlet Format-Table (alias: ft) che consente di formattare le proprietà ComputerName e InstanceID in una tabella. Il parametro AutoSize ("auto") comprime le colonne per la visualizzazione.

Dalla visualizzazione risultante, l'amministratore può identificare la sessione PSSession da chiudere e copiare e incollare il parametro InstanceID di tale sessione nel secondo comando. 

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






Esempio 6

C:\PS>function EndPSS { get-pssession | remove-pssession }

Descrizione
-----------
Questa funzione elimina tutte le sessioni PSSession nella sessione corrente. Dopo aver aggiunto questa funzione al profilo di Windows Powershell, per eliminare tutte le sessioni sarà sufficiente digitare "endpss".






Vedere anche




Argomenti della Guida