Get-Job
Ottiene i processi in background di PowerShell in esecuzione nella sessione corrente.
Sintassi
Get-Job
[-IncludeChildJob]
[-ChildJobState <JobState>]
[-HasMoreData <Boolean>]
[-Before <DateTime>]
[-After <DateTime>]
[-Newest <Int32>]
[[-Id] <Int32[]>]
[<CommonParameters>]
Get-Job
[-IncludeChildJob]
[-ChildJobState <JobState>]
[-HasMoreData <Boolean>]
[-Before <DateTime>]
[-After <DateTime>]
[-Newest <Int32>]
[-InstanceId] <Guid[]>
[<CommonParameters>]
Get-Job
[-IncludeChildJob]
[-ChildJobState <JobState>]
[-HasMoreData <Boolean>]
[-Before <DateTime>]
[-After <DateTime>]
[-Newest <Int32>]
[-Name] <String[]>
[<CommonParameters>]
Get-Job
[-IncludeChildJob]
[-ChildJobState <JobState>]
[-HasMoreData <Boolean>]
[-Before <DateTime>]
[-After <DateTime>]
[-Newest <Int32>]
[-State] <JobState>
[<CommonParameters>]
Get-Job
[-IncludeChildJob]
[-ChildJobState <JobState>]
[-HasMoreData <Boolean>]
[-Before <DateTime>]
[-After <DateTime>]
[-Newest <Int32>]
[-Command <String[]>]
[<CommonParameters>]
Get-Job
[-Filter] <Hashtable>
[<CommonParameters>]
Descrizione
Il Get-Job
cmdlet ottiene oggetti che rappresentano i processi in background avviati nella sessione corrente. È possibile usare Get-Job
per ottenere i processi avviati usando il Start-Job
cmdlet o il parametro AsJob di qualsiasi cmdlet.
Senza parametri, un Get-Job
comando ottiene tutti i processi nella sessione corrente. È possibile usare i parametri di Get-Job
per ottenere processi specifici.
L'oggetto processo che Get-Job
restituisce contiene informazioni utili sul processo, ma non contiene i risultati del processo. Per ottenere i risultati, usare il Receive-Job
cmdlet .
Un processo in background di Windows PowerShell è un comando eseguito in background senza interagire con la sessione corrente. In genere, si usa un processo in background per eseguire un comando complesso che richiede molto tempo per terminare. Per altre informazioni sui processi in background in Windows PowerShell, vedere about_Jobs.
A partire da Windows PowerShell 3.0, il Get-Job
cmdlet ottiene anche tipi di processi personalizzati, ad esempio processi del flusso di lavoro e istanze di processi pianificati. Per trovare il tipo di processo di un processo, utilizzare la proprietà PSJobTypeName del processo.
Per abilitare Get-Job
il recupero di un tipo di processo personalizzato, importare il modulo che supporta il tipo di processo personalizzato nella sessione prima di eseguire un Get-Job
comando, usando il Import-Module
cmdlet o usando o ottenendo un cmdlet nel modulo. Per informazioni su un tipo di processo personalizzato particolare, vedere la documentazione relativa alla funzionalità del tipo di processo personalizzato.
Esempio
Esempio 1: Avviare tutti i processi in background nella sessione corrente
Questo comando ottiene tutti i processi in background avviati nella sessione corrente. Non include i processi creati in altre sessioni, neanche se vengono eseguiti nel computer locale.
Get-Job
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
1 Job1 BackgroundJob Completed True localhost $env:COMPUTERNAME
Esempio 2: Arrestare un processo usando un ID istanza
Questi comandi illustrano come ottenere l'ID istanza di un processo e quindi usarla per arrestare un processo. A differenza del nome di un processo, che non è univoco, l'ID istanza è univoco.
Il primo comando usa il Get-Job
cmdlet per ottenere un processo. Usa il parametro Name per identificare il processo. Il comando archivia l'oggetto processo che Get-Job
restituisce nella $j
variabile . In questo esempio è presente un solo processo con il nome specificato. Il secondo comando ottiene la proprietà InstanceId dell'oggetto nella $j
variabile e la archivia nella $ID
variabile . Il terzo comando visualizza il valore della $ID
variabile. Il quarto comando usa il Stop-Job
cmdlet per arrestare il processo.
Usa il parametro InstanceId per identificare il processo e $ID
la variabile per rappresentare l'ID istanza del processo.
$j = Get-Job -Name Job1
$ID = $j.InstanceID
$ID
Guid
----
03c3232e-1d23-453b-a6f4-ed73c9e29d55
Stop-Job -InstanceId $ID
Esempio 3: Ottenere processi che includono un comando specifico
Questo comando ottiene i processi nel sistema che includono un Get-Process
comando. Il comando usa il parametro Command di Get-Job
per limitare i processi recuperati. Il comando usa caratteri jolly (*
) per ottenere processi che includono un Get-Process
comando in qualsiasi punto della stringa di comando.
Get-Job -Command "*Get-Process*"
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
3 Job3 BackgroundJob Running True localhost Get-Process
Esempio 4: Ottenere processi che includono un comando specifico usando la pipeline
Analogamente al comando nell'esempio precedente, questo comando ottiene i processi nel sistema che includono un Get-Process
comando. Il comando usa un operatore pipeline (|
) per inviare un PSCustomObject con il Get-Job
comando NoteProperty al cmdlet . È l'equivalente del comando precedente.
[pscustomobject]@{Command='*Get-Process*'} | Get-Job
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
3 Job3 BackgroundJob Running True localhost Get-Process
Esempio 5: Ottenere processi non avviati
Questo comando ottiene solo i processi che sono stati creati ma non ancora avviati. Include i processi pianificati per l'esecuzione futura e quelli non ancora pianificati.
Get-Job -State NotStarted
Esempio 6: Ottenere processi a cui non è stato assegnato un nome
Questo comando ottiene tutti i processi con nomi di processo che iniziano con il processo. Poiché job<number>
è il nome predefinito per un processo, questo comando ottiene tutti i processi che non hanno un nome assegnato in modo esplicito.
Get-Job -Name Job*
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
1 Job1 BackgroundJob Completed True localhost $env:COMPUTERNAME
Esempio 7: Usare un oggetto processo per rappresentare il processo in un comando
In questo esempio viene illustrato come usare Get-Job
per ottenere un oggetto processo e quindi viene illustrato come usare l'oggetto processo per rappresentare il processo in un comando.
Il primo comando usa il Start-Job
cmdlet per avviare un processo in background che esegue un Get-Process
comando nel computer locale. Il comando usa il parametro Name di Start-Job
per assegnare un nome descrittivo al processo. Il secondo comando usa Get-Job
per ottenere il processo. Usa il parametro Name di Get-Job
per identificare il processo. Il comando salva l'oggetto processo risultante nella $j
variabile . Il terzo comando visualizza il valore dell'oggetto processo nella $j
variabile . Il valore della proprietà State indica che il processo è stato completato. Il valore della proprietà HasMoreData indica che sono disponibili risultati dal processo che non sono ancora stati recuperati. Il quarto comando usa il Receive-Job
cmdlet per ottenere i risultati del processo. Usa l'oggetto processo nella $j
variabile per rappresentare il processo. È anche possibile usare un operatore pipeline per inviare un oggetto processo a Receive-Job
.
Start-Job -ScriptBlock {Get-Process} -Name MyJob
$j = Get-Job -Name MyJob
$j
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
6 MyJob BackgroundJob Completed True localhost Get-Process
Receive-Job -Job $j
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
124 4 13572 12080 59 1140 audiodg
783 16 11428 13636 100 548 CcmExec
96 4 4252 3764 59 3856 ccmsetup
...
Esempio 8: Ottenere tutti i processi inclusi i processi avviati da un metodo diverso
In questo esempio viene illustrato che il Get-Job
cmdlet può ottenere tutti i processi avviati nella sessione corrente, anche se sono stati avviati usando metodi diversi.
Il primo comando usa il Start-Job
cmdlet per avviare un processo nel computer locale. Il secondo comando usa il parametro AsJob del Invoke-Command
cmdlet per avviare un processo nel computer S1. Anche se i comandi del processo vengono eseguiti nel computer remoto, l'oggetto processo viene creato nel computer locale, quindi si usano i comandi locali per gestire il processo. Il terzo comando usa il Invoke-Command
cmdlet per eseguire un Start-Job
comando nel computer S2. Usando questo metodo, l'oggetto processo viene creato nel computer remoto, quindi si usano i comandi remoti per gestire il processo. Il quarto comando usa Get-Job
per ottenere i processi archiviati nel computer locale. La proprietà PSJobTypeName dei processi, introdotta in Windows PowerShell 3.0, mostra che il processo locale avviato tramite il Start-Job
cmdlet è un processo in background e il processo avviato in una sessione remota usando il Invoke-Command
cmdlet è un processo remoto. Il quinto, sesto e settimo comando usa il New-PSSession
cmdlet per creare una SESSIONE PSSession connessa al computer S2, viene usata Invoke-Command
per avviare un processo nel computer remoto usando PSSession e il parametro Session . Ottiene quindi il processo usando il Get-Job
comando nel computer S2 usando la sessione PSSession.
L'output di esempio mostra i risultati del Get-Job
comando. Nel computer S2 il processo sembra essere un processo locale. Il nome del computer è localhost e il tipo di processo è un processo in background.
Per altre informazioni su come eseguire processi in background nei computer remoti, vedere about_Remote_Jobs.
Start-Job -ScriptBlock {Get-EventLog -LogName System}
Invoke-Command -ComputerName S1 -ScriptBlock {Get-EventLog -LogName System} -AsJob
Invoke-Command -ComputerName S2 -ScriptBlock {Start-Job -ScriptBlock {Get-EventLog -LogName System}}
Get-Job
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
1 Job1 BackgroundJob Running True localhost Get-EventLog System
2 Job2 RemoteJob Running True S1 Get-EventLog System
$Session = New-PSSession -ComputerName S2
Invoke-Command -Session $Session -ScriptBlock {Start-Job -ScriptBlock {Get-EventLog -LogName System}}
Invoke-Command -Session $Session -ScriptBlock {Get-Job}
Id Name PSJobTypeName State HasMoreData Location Command PSComputerName
-- ---- ------------- ----- ----------- -------- ------- --------------
1 Job1 BackgroundJob Running True localhost Get-EventLog -LogName Sy… S2
Esempio 9: Analizzare un processo non riuscito
Questo comando illustra come usare l'oggetto processo che Get-Job
restituisce per analizzare il motivo per cui un processo non è riuscito.
Mostra anche come ottenere i processi figlio di ogni processo.
Il primo comando usa il Start-Job
cmdlet per avviare un processo nel computer locale. L'oggetto processo che Start-Job
restituisce indica che il processo non è riuscito. Il valore della proprietà State è Failed.
Il secondo comando usa il Get-Job
cmdlet per ottenere il processo. Il comando usa il metodo dot per ottenere il valore della proprietà JobStateInfo dell'oggetto . Usa un operatore pipeline per inviare l'oggetto nella proprietà JobStateInfo al Format-List
cmdlet , che formatta tutte le proprietà dell'oggetto (*
) in un elenco. Il risultato del Format-List
comando mostra che il valore della proprietà Reason del processo è vuoto.
Il terzo comando esamina più in dettaglio. Usa un Get-Job
comando per ottenere il processo e quindi usa un operatore pipeline per inviare l'intero oggetto processo al Format-List
cmdlet, che visualizza tutte le proprietà del processo in un elenco. La visualizzazione di tutte le proprietà nell'oggetto processo mostra che il processo contiene un processo figlio denominato Job2.
Il quarto comando usa Get-Job
per ottenere l'oggetto processo che rappresenta il processo figlio Job2. Si tratta del processo in cui è stato effettivamente eseguito il comando. Usa il metodo dot per ottenere la proprietà Reason della proprietà JobStateInfo . Il risultato indica che il processo non è riuscito a causa di un errore di accesso negato. In questo caso, l'utente ha dimenticato di usare l'opzione Esegui come amministratore quando si avvia Windows PowerShell.Poiché i processi in background usano le funzionalità di comunicazione remota di Windows PowerShell, il computer deve essere configurato per l'esecuzione di un processo da remoto, anche quando il processo viene eseguito nel computer locale. Per informazioni sui requisiti per la comunicazione remota in Windows PowerShell, vedere about_Remote_Requirements. Per suggerimenti per la risoluzione dei problemi, vedere about_Remote_Troubleshooting.
PS> Start-Job -ScriptBlock {Get-Process}
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
1 Job1 BackgroundJob Failed False localhost Get-Process
PS> (Get-Job).JobStateInfo | Format-List -Property *
State : Failed
Reason :
PS> Get-Job | Format-List -Property *
HasMoreData : False
StatusMessage :
Location : localhost
Command : get-process
JobStateInfo : Failed
Finished : System.Threading.ManualReset
EventInstanceId : fb792295-1318-4f5d-8ac8-8a89c5261507
Id : 1
Name : Job1
ChildJobs : {Job2}
Output : {}
Error : {}
Progress : {}
Verbose : {}
Debug : {}
Warning : {}
StateChanged :
PS> (Get-Job -Name job2).JobStateInfo.Reason
Connecting to remote server using WSManCreateShellEx api failed. The async callback gave the
following error message: Access is denied.
Esempio 10: Ottenere risultati filtrati
In questo esempio viene illustrato come usare il parametro Filter per ottenere un processo del flusso di lavoro. Il parametro Filter , introdotto in Windows PowerShell 3.0 è valido solo per i tipi di processi personalizzati, ad esempio processi del flusso di lavoro e processi pianificati.
Il primo comando usa la parola chiave Workflow per creare il flusso di lavoro WFProcess. Il secondo comando usa il parametro AsJob del flusso di lavoro WFProcess per eseguire il flusso di lavoro come processo in background. Usa il parametro JobName del flusso di lavoro per specificare un nome per il processo e il parametro PSPrivateMetadata del flusso di lavoro per specificare un ID personalizzato. Il terzo comando usa il parametro Filter di Get-Job
per ottenere il processo in base all'ID personalizzato specificato nel parametro PSPrivateMetadata .
PS> Workflow WFProcess {Get-Process}
PS> WFProcess -AsJob -JobName WFProcessJob -PSPrivateMetadata @{MyCustomId = 92107}
PS> Get-Job -Filter @{MyCustomId = 92107}
Id Name State HasMoreData Location Command
-- ---- ----- ----------- -------- -------
1 WFProcessJob Completed True localhost WFProcess
Esempio 11: Ottenere informazioni sui processi figlio
In questo esempio viene illustrato l'effetto dell'uso dei parametri IncludeChildJob e ChildJobState del Get-Job
cmdlet .
Il primo comando ottiene i processi nella sessione corrente. L'output include un processo in background, un processo remoto e diverse istanze di un processo pianificato. Il processo remoto Job4 sembra non riuscito.
Il secondo comando usa il parametro IncludeChildJob di Get-Job
. L'output aggiunge i processi figlio di tutti i processi che dispongono di processi figlio. In questo caso, l'output rivisto mostra che solo il processo figlio Job5 di Job4 non è riuscito. Il terzo comando usa il parametro ChildJobState con un valore Failed.L'output include tutti i processi padre e solo i processi figlio non riusciti. Il quinto comando usa la proprietà JobStateInfo dei processi e la relativa proprietà Reason per individuare il motivo per cui Job5 non è riuscito.
PS> Get-Job
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
2 Job2 BackgroundJob Completed True localhost .\Get-Archive.ps1
4 Job4 RemoteJob Failed True Server01, Server02 .\Get-Archive.ps1
7 UpdateHelpJob PSScheduledJob Completed True localhost Update-Help
8 UpdateHelpJob PSScheduledJob Completed True localhost Update-Help
9 UpdateHelpJob PSScheduledJob Completed True localhost Update-Help
10 UpdateHelpJob PSScheduledJob Completed True localhost Update-Help
PS> Get-Job -IncludeChildJob
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
2 Job2 BackgroundJob Completed True localhost .\Get-Archive.ps1
3 Job3 Completed True localhost .\Get-Archive.ps1
4 Job4 RemoteJob Failed True Server01, Server02 .\Get-Archive.ps1
5 Job5 Failed False Server01 .\Get-Archive.ps1
6 Job6 Completed True Server02 .\Get-Archive.ps1
7 UpdateHelpJob PSScheduledJob Completed True localhost Update-Help
8 UpdateHelpJob PSScheduledJob Completed True localhost Update-Help
9 UpdateHelpJob PSScheduledJob Completed True localhost Update-Help
10 UpdateHelpJob PSScheduledJob Completed True localhost Update-Help
PS> Get-Job -Name Job4 -ChildJobState Failed
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
2 Job2 BackgroundJob Completed True localhost .\Get-Archive.ps1
4 Job4 RemoteJob Failed True Server01, Server02 .\Get-Archive.ps1
5 Job5 Failed False Server01 .\Get-Archive.ps1
7 UpdateHelpJob PSScheduledJob Completed True localhost Update-Help
8 UpdateHelpJob PSScheduledJob Completed True localhost Update-Help
9 UpdateHelpJob PSScheduledJob Completed True localhost Update-Help
10 UpdateHelpJob PSScheduledJob Completed True localhost Update-Help
PS> (Get-Job -Name Job5).JobStateInfo.Reason
Connecting to remote server Server01 failed with the following error message:
Access is denied.
Per altre informazioni, vedere l'argomento della Guida di about_Remote_Troubleshooting .
Parametri
-After
Ottiene i processi completati dopo la data e l'ora specificate. Immettere un oggetto DateTime , ad esempio quello restituito dal Get-Date
cmdlet o una stringa che può essere convertita in un oggetto DateTime , ad esempio Dec 1, 2012 2:00 AM
o 11/06
.
Questo parametro funziona solo su tipi di processi personalizzati, ad esempio processi del flusso di lavoro e processi pianificati, che dispongono di una proprietà EndTime . Non funziona su processi in background standard, ad esempio quelli creati usando il Start-Job
cmdlet . Per informazioni sul supporto di questo parametro, vedere l'argomento della Guida relativo al tipo di processo.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Tipo: | DateTime |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Before
Ottiene i processi completati prima della data e dell'ora specificate. Immettere un oggetto DateTime .
Questo parametro funziona solo su tipi di processi personalizzati, ad esempio processi del flusso di lavoro e processi pianificati, che dispongono di una proprietà EndTime . Non funziona su processi in background standard, ad esempio quelli creati usando il Start-Job
cmdlet . Per informazioni sul supporto di questo parametro, vedere l'argomento della Guida relativo al tipo di processo.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Tipo: | DateTime |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-ChildJobState
Ottiene solo i processi figlio con lo stato specificato. I valori validi per questo parametro sono:
- NotStarted
- In esecuzione
- Completato
- Non riuscito
- Arrestato
- Bloccati
- Suspended
- Disconnesso
- Suspending
- Arresto in corso
Per impostazione predefinita, Get-Job
non ottiene processi figlio. Usando il parametro IncludeChildJob , Get-Job
ottiene tutti i processi figlio. Se si usa il parametro ChildJobState , il parametro IncludeChildJob non ha alcun effetto.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Tipo: | JobState |
Valori accettati: | NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Command
Specifica una matrice di comandi come stringhe. Questo cmdlet ottiene i processi che includono i comandi specificati. Il valore predefinito corrisponde a tutti i processi. È possibile usare caratteri jolly per specificare un criterio di comando.
Tipo: | String[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | True |
-Filter
Specifica una tabella hash di condizioni. Questo cmdlet ottiene i processi che soddisfano tutte le condizioni. Immettere una tabella hash in cui le chiavi sono le proprietà del processo e i valori sono i valori di queste proprietà.
Questo parametro funziona solo su tipi di processo personalizzati, ad esempio i processi del flusso di lavoro e i processi pianificati. Non funziona su processi in background standard, ad esempio quelli creati usando il Start-Job
cmdlet . Per informazioni sul supporto di questo parametro, vedere l'argomento della Guida relativo al tipo di processo.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Tipo: | Hashtable |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-HasMoreData
Indica se questo cmdlet ottiene solo i processi con il valore della proprietà HasMoreData specificato.
La proprietà HasMoreData indica se tutti i risultati del processo sono stati ricevuti nella sessione corrente. Per ottenere processi con più risultati, specificare il valore .$True
Per ottenere processi che non hanno più risultati, specificare il valore .$False
Per ottenere i risultati di un processo, usare il Receive-Job
cmdlet .
Quando si usa il Receive-Job
cmdlet, elimina dalla risorsa di archiviazione in memoria specifica della sessione i risultati restituiti. Quando ha restituito tutti i risultati del processo nella sessione corrente, imposta il valore della proprietà HasMoreData del processo su $False
) per indicare che non ha più risultati per il processo nella sessione corrente. Utilizzare il parametro Keep di Receive-Job
per impedire Receive-Job
l'eliminazione dei risultati e la modifica del valore della proprietà HasMoreData.
Per ulteriori informazioni, digitare Get-Help Receive-Job
.
La proprietà HasMoreData è specifica della sessione corrente. Se i risultati per un tipo di processo personalizzato vengono salvati all'esterno della sessione, ad esempio il tipo di processo pianificato, che salva i risultati del processo su disco, è possibile usare il Receive-Job
cmdlet in una sessione diversa per ottenere di nuovo i risultati del processo, anche se il valore di HasMoreData è $False
. Per altre informazioni, vedere gli argomenti della Guida sul tipo di processo personalizzato.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Tipo: | Boolean |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Id
Specifica una matrice di ID di processi che ottiene questo cmdlet.
L'ID è un numero intero che identifica in modo univoco il processo nella sessione corrente. È più facile ricordare e digitare l'ID istanza, ma è univoco solo nella sessione corrente. È possibile digitare uno o più ID separati da virgole. Per trovare l'ID di un processo, digitare Get-Job
senza parametri.
Tipo: | Int32[] |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-IncludeChildJob
Indica che questo cmdlet restituisce processi figlio, oltre ai processi padre.
Questo parametro è particolarmente utile per analizzare i processi del flusso di lavoro, per i quali Get-Job
restituisce un processo padre del contenitore e gli errori del processo, perché il motivo dell'errore viene salvato in una proprietà del processo figlio.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-InstanceId
Specifica una matrice di ID istanza di processi che ottiene questo cmdlet. Il valore predefinito corrisponde a tutti i processi.
Un ID istanza è un GUID che identifica in modo univoco il processo nel computer. Per trovare l'ID istanza di un processo, usare Get-Job
.
Tipo: | Guid[] |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Name
Specifica una matrice di nomi descrittivi dell'istanza dei processi che ottiene questo cmdlet. Immettere un nome di processo oppure usare caratteri jolly per immettere un modello di nome di processo. Per impostazione predefinita, Get-Job
ottiene tutti i processi nella sessione corrente.
Tipo: | String[] |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | True |
-Newest
Specifica un numero di processi da ottenere. Questo cmdlet ottiene i processi terminati più di recente.
Il parametro Newest non ordina o restituisce i processi più recenti nell'ordine di fine. Per ordinare l'output, usare il Sort-Object
cmdlet .
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Tipo: | Int32 |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-State
Specifica uno stato del processo. Questo cmdlet ottiene solo i processi nello stato specificato. I valori validi per questo parametro sono:
- NotStarted
- In esecuzione
- Completato
- Non riuscito
- Arrestato
- Bloccati
- Suspended
- Disconnesso
- Suspending
- Arresto in corso
Per impostazione predefinita, Get-Job
ottiene tutti i processi nella sessione corrente.
Per altre informazioni sugli stati dei processi, vedere Enumerazione JobState.
Tipo: | JobState |
Valori accettati: | NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint |
Posizione: | 0 |
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
System.Management.Automation.RemotingJob
Questo cmdlet restituisce oggetti che rappresentano i processi nella sessione.
Note
PowerShell include gli alias seguenti per Get-Job
:
- Tutte le piattaforme:
gjb
La proprietà PSJobTypeName dei processi indica il tipo di processo del processo. Il valore della proprietà è determinato dall'autore del tipo di processo. L'elenco seguente indica i tipi di processo più comuni.
- BackgroundJob. Processo locale avviato tramite
Start-Job
. - RemoteJob. Processo avviato in una sessione PSSession usando il parametro AsJob del
Invoke-Command
cmdlet . - PSWorkflowJob. Processo avviato usando il parametro comune AsJob dei flussi di lavoro.