Condividi tramite


Get-PSSession

Ottiene le sessioni di PowerShell nei computer locali e remoti.

Sintassi

Get-PSSession
   [-Name <String[]>]
   [<CommonParameters>]
Get-PSSession
   [-ComputerName] <String[]>
   [-ApplicationName <String>]
   [-ConfigurationName <String>]
   [-Name <String[]>]
   [-Credential <PSCredential>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [-Port <Int32>]
   [-UseSSL]
   [-ThrottleLimit <Int32>]
   [-State <SessionFilterState>]
   [-SessionOption <PSSessionOption>]
   [<CommonParameters>]
Get-PSSession
   [-ComputerName] <String[]>
   [-ApplicationName <String>]
   [-ConfigurationName <String>]
   -InstanceId <Guid[]>
   [-Credential <PSCredential>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [-Port <Int32>]
   [-UseSSL]
   [-ThrottleLimit <Int32>]
   [-State <SessionFilterState>]
   [-SessionOption <PSSessionOption>]
   [<CommonParameters>]
Get-PSSession
   [-ConnectionUri] <Uri[]>
   [-ConfigurationName <String>]
   [-AllowRedirection]
   -InstanceId <Guid[]>
   [-Credential <PSCredential>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [-ThrottleLimit <Int32>]
   [-State <SessionFilterState>]
   [-SessionOption <PSSessionOption>]
   [<CommonParameters>]
Get-PSSession
   [-ConnectionUri] <Uri[]>
   [-ConfigurationName <String>]
   [-AllowRedirection]
   [-Name <String[]>]
   [-Credential <PSCredential>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [-ThrottleLimit <Int32>]
   [-State <SessionFilterState>]
   [-SessionOption <PSSessionOption>]
   [<CommonParameters>]
Get-PSSession
   [-ConfigurationName <String>]
   [-Name <String[]>]
   [-State <SessionFilterState>]
   -ContainerId <String[]>
   [<CommonParameters>]
Get-PSSession
   [-ConfigurationName <String>]
   -InstanceId <Guid[]>
   [-State <SessionFilterState>]
   -ContainerId <String[]>
   [<CommonParameters>]
Get-PSSession
   [-ConfigurationName <String>]
   [-Name <String[]>]
   [-State <SessionFilterState>]
   -VMId <Guid[]>
   [<CommonParameters>]
Get-PSSession
   [-ConfigurationName <String>]
   -InstanceId <Guid[]>
   [-State <SessionFilterState>]
   -VMId <Guid[]>
   [<CommonParameters>]
Get-PSSession
   [-ConfigurationName <String>]
   [-Name <String[]>]
   [-State <SessionFilterState>]
   -VMName <String[]>
   [<CommonParameters>]
Get-PSSession
   [-ConfigurationName <String>]
   -InstanceId <Guid[]>
   [-State <SessionFilterState>]
   -VMName <String[]>
   [<CommonParameters>]
Get-PSSession
   [-InstanceId <Guid[]>]
   [<CommonParameters>]
Get-PSSession
   [-Id] <Int32[]>
   [<CommonParameters>]

Descrizione

Il Get-PSSession cmdlet ottiene le sessioni di PowerShell gestite dall'utente (PSSession) nei computer locali e remoti.

A partire da Windows PowerShell 3.0, le sessioni vengono archiviate nei computer alla fine remota di ogni connessione. È possibile utilizzare i parametri ComputerName o ConnectionUri di Get-PSSession per ottenere le sessioni che si connettono al computer locale o ai computer remoti, anche se non sono state create nella sessione corrente.

Senza parametri, Get-PSSession ottiene tutte le sessioni create nella sessione corrente.

Usare i parametri di filtro, inclusi Name, ID, InstanceID, State, ApplicationName e ConfigurationName per selezionare tra le sessioni restituite.Get-PSSession

Usare i parametri rimanenti per configurare la connessione temporanea in cui viene eseguito il Get-PSSession comando quando si usano i parametri ComputerName o ConnectionUri .

Nota

In Windows PowerShell 2.0, senza parametri, Get-PSSession ottiene tutte le sessioni create nella sessione corrente. Il parametro ComputerName ottiene le sessioni create nella sessione corrente e si connettono al computer specificato.

Per altre informazioni sulle sessioni di PowerShell, vedere about_PSSessions.

Esempio

Esempio 1: Ottenere sessioni create nella sessione corrente

Get-PSSession

Questo comando ottiene tutte le sessioni PSSession create nella sessione corrente. Non ottiene le sessioni PSSession create in altre sessioni o in altri computer, anche se si connettono a questo computer.

Esempio 2: Ottenere sessioni connesse al computer locale

Get-PSSession -ComputerName "localhost"

Questo comando ottiene le sessioni PSSession connesse al computer locale. Per indicare il computer locale, digitare il nome del computer, localhost o un punto (.)

Il comando restituisce tutte le sessioni nel computer locale, anche se sono state create in sessioni diverse o in computer diversi.

Esempio 3: Ottenere sessioni connesse a un computer

Get-PSSession -ComputerName "Server02"

Id Name            ComputerName    State         ConfigurationName     Availability
 -- ----            ------------    -----         -----------------     ------------
  2 Session3        Server02       Disconnected  ITTasks                       Busy
  1 ScheduledJobs   Server02       Opened        Microsoft.PowerShell     Available
  3 Test            Server02       Disconnected  Microsoft.PowerShell          Busy

Questo comando ottiene le sessioni PSSession connesse al computer Server02.

Il comando restituisce tutte le sessioni in Server02, anche se sono state create in sessioni diverse o in computer diversi.

L'output mostra che due sessioni hanno uno Disconnected stato e una Busy disponibilità. Sono state create in sessioni diverse e sono attualmente in uso. La ScheduledJobs sessione, ovvero Opened e Available, è stata creata nella sessione corrente.

Esempio 4: Salvare i risultati di questo comando

New-PSSession -ComputerName Server01, Server02, Server03
$s1, $s2, $s3 = Get-PSSession

In questo esempio viene illustrato come salvare i risultati di un Get-PSSession comando in più variabili.

Il primo comando usa il New-PSSession cmdlet per creare sessioni PSSession in tre computer remoti.

Il secondo comando usa un Get-PSSession cmdlet per ottenere le tre sessioni PSSession. Salva quindi ognuna delle sessioni PSSession in una variabile separata.

Quando PowerShell assegna una matrice di oggetti a una matrice di variabili, assegna il primo oggetto alla prima variabile, il secondo oggetto alla seconda variabile e così via. Se il numero di oggetti è superiore a quello delle variabili, tutti gli oggetti rimanenti vengono assegnati all'ultima variabile nella matrice. Se sono presenti più variabili che oggetti, le variabili in eccesso non vengono usate.

Esempio 5: Eliminare una sessione usando un ID istanza

Get-PSSession | Format-Table -Property ComputerName, InstanceID
$s = Get-PSSession -InstanceID a786be29-a6bb-40da-80fb-782c67f7db0f
Remove-PSSession -Session $s

In questo esempio viene illustrato come ottenere una sessione PSSession usando il relativo ID istanza e quindi per eliminare la sessione PSSession.

Il primo comando ottiene tutte le sessioni PSSession create nella sessione corrente. Invia le sessioni PSSession al Format-Table cmdlet , che visualizza le proprietà ComputerName e InstanceID di ogni PSSession.

Il secondo comando usa il Get-PSSession cmdlet per ottenere una specifica sessione PSSession e salvarla nella $s variabile. Il comando usa il parametro InstanceID per identificare la sessione PSSession.

Il terzo comando usa il cmdlet Remove-PSSession per eliminare la sessione PSSession nella $s variabile .

Esempio 6: Ottenere una sessione con un nome specifico

I comandi in questo esempio trovano una sessione che ha un formato di nome specifico e usa una particolare configurazione di sessione e quindi si connettono a tale sessione. È possibile usare un comando simile al seguente per trovare una sessione in cui un collega ha iniziato un'attività e connettersi per completare l'attività.

Get-PSSession -ComputerName Server02, Server12 -Name BackupJob* -ConfigurationName ITTasks -SessionOption @{OperationTimeout=240000}

Id Name            ComputerName    State         ConfigurationName     Availability
 -- ----            ------------    -----         -----------------     ------------
  3 BackupJob04     Server02        Disconnected        ITTasks                  None

$s = Get-PSSession -ComputerName Server02 -Name BackupJob04 -ConfigurationName ITTasks | Connect-PSSession
$s

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 5 BackupJob04     Server02        Opened        ITTasks                  Available

Il primo comando ottiene sessioni nei computer remoti Server02 e Server12 con nomi che iniziano con BackupJob e usano la configurazione di ITTasks sessione. Il comando usa il parametro Name per specificare il modello di nome e il parametro ConfigurationName per specificare la configurazione della sessione. Il valore del parametro SessionOption è una tabella hash che imposta il valore di OperationTimeout su 240000 millisecondi (4 minuti). Questa impostazione consente di completare il comando più tempo. I parametri ConfigurationName e SessionOption vengono usati per configurare le sessioni temporanee in cui viene eseguito il Get-PSSession cmdlet in ogni computer. L'output mostra che il comando restituisce la BackupJob04 sessione. La sessione è disconnessa e la disponibilità è None, che indica che non è in uso.

Il secondo comando usa il Get-PSSession cmdlet per accedere alla BackupJob04 sessione e al Connect-PSSession cmdlet per connettersi alla sessione. Il comando salva la sessione nella variabile $s.

Il terzo comando ottiene la sessione nella $s variabile . L'output mostra che il Connect-PSSession comando ha avuto esito positivo. La sessione è nello stato Aperto ed è disponibile per l'uso.

Esempio 7: Ottenere una sessione usando il relativo ID

Get-PSSession -Id 2

Questo comando ottiene la sessione PSSession con ID 2. Poiché il valore della proprietà ID è univoco solo nella sessione corrente, il parametro Id è valido solo per i comandi locali.

Parametri

-AllowRedirection

Indica che questo cmdlet consente il reindirizzamento di questa connessione a un URI (Uniform Resource Identifier) alternativo. Per impostazione predefinita, PowerShell non reindirizza le connessioni.

Questo parametro configura la connessione temporanea creata per eseguire un Get-PSSession comando con il parametro ConnectionUri .

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ApplicationName

Specifica il nome di un'applicazione. Questo cmdlet si connette solo alle sessioni che usano l'applicazione specificata.

Immettere il segmento dell'URI di connessione corrispondente al nome dell'applicazione. Nell'URI di connessione seguente, ad esempio, il nome dell'applicazione è WSMan: http://localhost:5985/WSMAN. Il nome dell'applicazione di una sessione viene archiviato nella proprietà Runspace.ConnectionInfo.AppName della sessione.

Il valore di questo parametro consente di selezionare e filtrare le sessioni. L'applicazione usata dalla sessione rimane invariata.

Tipo:String
Posizione:Named
Valore predefinito:All sessions
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-Authentication

Specifica il meccanismo utilizzato per autenticare le credenziali per la sessione in cui viene eseguito il Get-PSSession comando.

Questo parametro configura la connessione temporanea creata per eseguire un Get-PSSession comando con il parametro ComputerName o ConnectionUri .

I valori validi per questo parametro sono:

  • Default
  • Basic
  • CredSSP
  • Digest
  • Kerberos
  • Negotiate
  • NegotiateWithImplicitCredential.

Il valore predefinito è Default.

Per altre informazioni sui valori di questo parametro, vedere AuthenticationMechanism Enumeration.

Attenzione

L'autenticazione credSSP (Credential Security Support Provider), in cui le credenziali dell'utente vengono passate a un computer remoto da autenticare, è progettato per i comandi che richiedono l'autenticazione su più di una risorsa, ad esempio l'accesso a una condivisione di rete remota. Questo meccanismo aumenta il rischio per la sicurezza dell'operazione remota. Se infatti il computer remoto viene compromesso, le credenziali che gli vengono passate possono essere usate per controllare la sessione di rete.

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Tipo:AuthenticationMechanism
Valori accettati:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Posizione:Named
Valore predefinito:Default
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-CertificateThumbprint

Specifica il certificato di chiave pubblica digitale (X509) di un account utente autorizzato a creare la sessione in cui viene eseguito il Get-PSSession comando. Immettere l'identificazione personale del certificato.

Questo parametro configura la connessione temporanea creata per eseguire un Get-PSSession comando con il parametro ComputerName o ConnectionUri .

I certificati vengono usati nell'autenticazione basata sui certificati client. Possono essere mappati solo ad account utente locali. Non funzionano con gli account di dominio.

Per ottenere un'identificazione personale del certificato, usare un Get-Item comando o Get-ChildItem nell'unità di PowerShell Cert: .

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ComputerName

Specifica una matrice di nomi di computer. Ottiene le sessioni che si connettono ai computer specificati. I caratteri jolly non sono consentiti. Non esiste alcun valore predefinito.

A partire da Windows PowerShell 3.0, gli oggetti PSSession vengono archiviati nei computer alla fine remota di ogni connessione. Per ottenere le sessioni nei computer specificati, PowerShell crea una connessione temporanea a ogni computer ed esegue un Get-PSSession comando.

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

Nota

Questo parametro ottiene sessioni solo dai computer che eseguono Windows PowerShell 3.0 o versioni successive di PowerShell. Nelle versioni precedenti non vengono archiviate le sessioni.

Tipo:String[]
Alias:Cn
Posizione:0
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-ConfigurationName

Specifica il nome di una configurazione. Questo cmdlet ottiene solo le sessioni che usano la configurazione di sessione specificata.

Immettere un nome di configurazione o l'URI di risorsa completo per una configurazione di sessione. Se si specifica solo il nome di configurazione, viene anteporto l'URI dello schema seguente: http://schemas.microsoft.com/powershell. Il nome di configurazione di una sessione viene archiviato nella proprietà ConfigurationName della sessione.

Il valore di questo parametro consente di selezionare e filtrare le sessioni. La configurazione di sessione usata dalla sessione rimane invariata.

Per altre informazioni sulle configurazioni di sessione, vedere about_Session_Configurations.

Tipo:String
Posizione:Named
Valore predefinito:All sessions
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-ConnectionUri

Specifica un URI che definisce l'endpoint di connessione per la sessione temporanea in cui viene eseguito il Get-PSSession comando. L'URI deve essere completo.

Questo parametro configura la connessione temporanea creata per eseguire un Get-PSSession comando con il parametro ConnectionUri .

Il formato di questa stringa è il seguente:

<Transport>://<ComputerName>:<Port\>/<ApplicationName>

Il valore predefinito è: http://localhost:5985/WSMAN.

Se non si specifica un ConnectionUri, è possibile utilizzare i parametri UseSSL, ComputerName, Port e ApplicationName per specificare i valori ConnectionURI. I valori validi per il segmento Trasporto dell'URI sono HTTP e HTTPS. Se si specifica un URI di connessione con un segmento di trasporto, ma non si specifica una porta, la sessione viene creata con porte standard: 80 per HTTP e 443 per HTTPS. Per usare le porte predefinite per la comunicazione remota di PowerShell, specificare la porta 5985 per HTTP o 5986 per HTTPS.

Se il computer di destinazione reindirizza la connessione a un URI diverso, PowerShell impedisce il reindirizzamento a meno che non si usi il parametro AllowRedirection nel comando .

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Questo parametro ottiene sessioni solo da computer che eseguono Windows PowerShell 3.0 o versioni successive di Windows PowerShell. Nelle versioni precedenti non vengono archiviate le sessioni.

Tipo:Uri[]
Alias:URI, CU
Posizione:0
Valore predefinito:Http://localhost:5985/WSMAN
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-ContainerId

Specifica una matrice di ID di contenitori. Questo cmdlet avvia una sessione interattiva con ognuno dei contenitori specificati. Usare il docker ps comando per ottenere un elenco di ID contenitore. Per altre informazioni, vedere la Guida per il comando docker ps .

Tipo:String[]
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-Credential

Specifica una credenziale utente. Questo cmdlet esegue il comando con le autorizzazioni dell'utente specificato. Specificare un account utente autorizzato a connettersi al computer remoto ed eseguire un Get-PSSession comando. Il valore predefinito è l'utente corrente.

Digitare un nome utente, ad esempio User01 o Domain01\User01, oppure immettere un oggetto PSCredential generato dal Get-Credential cmdlet . Se si digita un nome utente, viene richiesto di immettere la password.

Le credenziali vengono archiviate in un oggetto PSCredential e la password viene archiviata come SecureString.

Nota

Per altre informazioni sulla protezione dei dati SecureString , vedere How secure is SecureString?.

Questo parametro consente di configurare la connessione temporanea creata per eseguire un Get-PSSession comando con il parametro ComputerName o ConnectionUri .

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Tipo:PSCredential
Posizione:Named
Valore predefinito:Current user
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Id

Specifica una matrice di ID sessione. Questo cmdlet ottiene solo le sessioni con gli ID specificati. Digitare uno o più ID, separati da virgole o usare l'operatore range (..) per specificare un intervallo di ID. Non è possibile utilizzare il parametro ID insieme al parametro ComputerName .

Un ID è un numero intero che identifica in modo univoco le sessioni gestite dall'utente nella sessione corrente. È più facile ricordare e digitare rispetto a InstanceId, ma è univoco solo all'interno della sessione corrente. L'ID di una sessione viene archiviato nella proprietà ID della sessione.

Tipo:Int32[]
Posizione:0
Valore predefinito:All sessions
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-InstanceId

Specifica una matrice di ID istanza di sessioni. Questo cmdlet ottiene solo le sessioni con gli ID istanza specificati.

L'ID istanza è un GUID che identifica in modo univoco una sessione in un computer locale o remoto. InstanceID è univoco, anche quando sono in esecuzione più sessioni in PowerShell.

L'ID istanza di una sessione viene archiviato nella proprietà InstanceID della sessione.

Tipo:Guid[]
Posizione:Named
Valore predefinito:All sessions
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Name

Specifica una matrice di nomi di sessione. Questo cmdlet ottiene solo le sessioni con i nomi descrittivi specificati. I caratteri jolly sono consentiti.

Il nome descrittivo di una sessione viene archiviato nella proprietà Name della sessione.

Tipo:String[]
Posizione:Named
Valore predefinito:All sessions
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:True

-Port

Specifica la porta di rete specificata utilizzata per la connessione temporanea in cui viene eseguito il Get-PSSession comando. Per connettersi a un computer remoto, è necessario che il computer remoto sia in attesa sulla porta usata dalla connessione. Le porte predefinite sono 5985, ovvero la porta WinRM per HTTP e 5986, ovvero la porta WinRM per HTTPS.

Prima di usare una porta alternativa, è necessario configurare il listener di Gestione remota Windows nel computer remoto per l'ascolto su tale porta. Per configurare il listener, digitare i due comandi seguenti al prompt di PowerShell:

Remove-Item -Path WSMan:\Localhost\listener\listener* -Recurse

New-Item -Path WSMan:\Localhost\listener -Transport http -Address * -Port \<port-number\>

Questo parametro consente di configurare la connessione temporanea creata per eseguire un Get-PSSession comando con il parametro ComputerName o ConnectionUri .

Non usare il parametro Port a meno che non sia necessario. Il set di porte nel comando si applica a tutti i computer o le sessioni in cui viene eseguito il comando. Un'impostazione di porta alternativa potrebbe impedire l'esecuzione del comando in tutti i computer.

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Tipo:Int32
Posizione:Named
Valore predefinito:5985, 5986
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-SessionOption

Specifica le opzioni avanzate per la sessione. Immettere un oggetto SessionOption , ad esempio quello creato usando il New-PSSessionOption cmdlet o una tabella hash in cui le chiavi sono nomi di opzioni di sessione e i valori sono valori di opzione di sessione.

I valori predefiniti per le opzioni sono determinati dal valore della variabile di $PSSessionOption preferenza, se impostato. In caso contrario, i valori predefiniti vengono stabiliti dalle opzioni impostate nella configurazione di sessione.

I valori delle opzioni di sessione hanno la precedenza sui valori predefiniti per le sessioni impostate nella $PSSessionOption variabile di preferenza e nella configurazione della sessione. Non hanno tuttavia la precedenza sui valori, sulle quote o sui limiti massimi impostati nella configurazione di sessione.

Per una descrizione delle opzioni di sessione, inclusi i valori predefiniti, vedere New-PSSessionOption. Per informazioni sulla $PSSessionOption variabile di preferenza, vedere about_Preference_Variables. Per altre informazioni sulle configurazioni di sessione, vedere about_Session_Configurations.

Tipo:PSSessionOption
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-State

Specifica uno stato della sessione. Questo cmdlet ottiene solo le sessioni nello stato specificato. I valori accettabili per questo parametro sono: All, Opened, Disconnected, Closede Broken. Il valore predefinito è All.

Il valore di stato della sessione è relativo alle sessioni correnti. Le sessioni non create nelle sessioni correnti e non sono connesse alla sessione corrente hanno uno stato Disconnected anche quando sono connesse a una sessione diversa.

Lo stato di una sessione viene archiviato nella proprietà State della sessione.

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Tipo:SessionFilterState
Valori accettati:All, Opened, Disconnected, Closed, Broken
Posizione:Named
Valore predefinito:All
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ThrottleLimit

Specifica il numero massimo di connessioni simultanee che è possibile stabilire per eseguire il Get-PSSession comando. Se si omette questo parametro o si immette un valore pari 0 a (zero), viene usato il valore predefinito , 32. Questo valore limite si applica solo al comando corrente, non alla sessione o al computer.

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Tipo:Int32
Posizione:Named
Valore predefinito:32
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-UseSSL

Indica che questo cmdlet usa il protocollo SSL (Secure Sockets Layer) per stabilire la connessione in cui viene eseguito il Get-PSSession comando. Per impostazione predefinita SSL non viene utilizzato. Se si usa questo parametro, ma SSL non è disponibile sulla porta usata per il comando, il comando non riesce.

Questo parametro configura la connessione temporanea creata per eseguire un Get-PSSession comando con il parametro ComputerName .

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
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 Get-VM cmdlet .

Tipo:String[]
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

Input

None

Non è possibile inviare tramite pipe oggetti a questo cmdlet.

Output

PSSession

Note

Windows PowerShell include gli alias seguenti per Get-PSSession:

  • gsn

  • Questo cmdlet ottiene oggetti PSSession di sessioni gestite dall'utente, ad esempio quelli creati usando i New-PSSessioncmdlet , Enter-PSSessione Invoke-Command . Non ottiene la sessione gestita dal sistema creata all'avvio di PowerShell.

  • A partire da Windows PowerShell 3.0, gli oggetti PSSession vengono archiviati nel computer che si trova sul lato server o che riceve la fine di una connessione. Per ottenere le sessioni archiviate nel computer locale o in un computer remoto, PowerShell stabilisce una sessione temporanea nel computer specificato ed esegue i comandi di query nella sessione.

  • Per ottenere sessioni che si connettono a un computer remoto, utilizzare i parametri ComputerName o ConnectionUri per specificare il computer remoto. Per filtrare le sessioni ottenute Get-PSSession , usare i parametri Name, ID, InstanceID e State . Usare i parametri rimanenti per configurare la sessione Get-PSSession temporanea usata.

  • Quando si usano i parametri ComputerName o ConnectionUri , Get-PSSession ottiene solo le sessioni dai computer che eseguono Windows PowerShell 3.0 e versioni successive di PowerShell.

  • Il valore della proprietà State di una sessione PSSession è relativo alla sessione corrente. Pertanto, un valore Disconnesso indica che la sessione PSSession non è connessa alla sessione corrente. Tuttavia, non significa che la sessione PSSession sia disconnessa da tutte le sessioni. È possibile che sia connessa a una sessione diversa. Per determinare se è possibile connettersi o riconnettersi alla sessione PSSession dalla sessione corrente, utilizzare la proprietà Availability .

Un valore availability di None indica che è possibile connettersi alla sessione. Il valore Occupato indica che non è possibile connettersi alla sessione PSSession perché è connessa a un'altra sessione.

Per altre informazioni sui valori della proprietà State delle sessioni, vedere Enumerazione RunspaceState.

Per altre informazioni sui valori della proprietà Availability delle sessioni, vedere Enumerazione RunspaceAvailability.