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 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 processo personalizzati, ad esempio processi del flusso di lavoro e istanze di processi pianificati. Per trovare il tipo di un processo, usare la relativa proprietà PSJobTypeName.
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 esiste un unico 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 comando NoteProperty al Get-Job
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 di 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 del processo che potrebbero non essere stati ancora 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 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 usando il Start-Job
cmdlet è un processo in background e il processo avviato in una sessione remota tramite il Invoke-Command
cmdlet è un processo remoto. Il quinto, sesto e settimo comando usa il cmdlet per creare una sessione PSSession connessa al computer S2, viene usata Invoke-Command
per avviare un processo nel computer remoto usando PSSession New-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 è apparentemente 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 in 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 verificare 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. Usa il metodo del punto 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 indica che il valore della proprietà Reason del processo è vuoto.
Il terzo comando esamina di più. 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 viene 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 all'avvio di Windows PowerShell. Poiché i processi in background usano le funzionalità di comunicazione remota di Windows PowerShell, il computer deve essere configurato per la comunicazione remota per eseguire un processo, 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 i suggerimenti sulla 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
Questo esempio illustra 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 processo 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'utilizzo dei parametri IncludeChildJob e ChildJobState del Get-Job
cmdlet.
Il primo comando ottiene i processi della sessione corrente. L'output include un processo in background, un processo remoto e diverse istanze di un processo pianificato. Il processo remoto, Job4, apparentemente non è riuscito.
Il secondo comando usa il parametro IncludeChildJob di Get-Job
. L'output aggiunge i processi figlio di tutti i processi figlio con processi figlio. In questo caso, l'output modificato mostra che solo il processo figlio Job5 di Job4 non è riuscito. Il terzo comando usa il parametro ChildJobState con un valore di 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 uno 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 processo personalizzati, ad esempio processi del flusso di lavoro e processi pianificati, che hanno una proprietà EndTime. Non funziona sui 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.
Type: | DateTime |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Before
Ottiene i processi completati prima della data e dell'ora specificate. Immettere un oggetto DateTime .
Questo parametro funziona solo su tipi di processo personalizzati, ad esempio processi del flusso di lavoro e processi pianificati, che hanno una proprietà EndTime. Non funziona sui 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.
Type: | DateTime |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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
- Bloccato
- Suspended
- Disconnesso
- Suspending
- Stopping
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 effetto.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | JobState |
Accepted values: | NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 modello di comando.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Filter
Specifica una tabella hash di condizioni. Questo cmdlet ottiene 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 sui 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.
Type: | Hashtable |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-HasMoreData
Indica se questo cmdlet ottiene solo processi con il valore della proprietà HasMoreData specificato.
La proprietà HasMoreData indica se nella sessione corrente sono stati ricevuti tutti i risultati dei processi. Per ottenere processi con più risultati, specificare un valore di $True
. Per ottenere processi che non hanno più risultati, specificare un valore di $False
.
Per ottenere i risultati di un processo, usare il Receive-Job
cmdlet.
Quando si usa il cmdlet, elimina dall'archiviazione specifica della sessione i risultati restituiti dall'archivio Receive-Job
specifico della sessione. 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. Usare 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 nuovamente 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.
Type: | Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Id
Specifica una matrice di ID di processi che ottiene questo cmdlet.
L'ID è un intero che identifica in modo univoco il processo nella sessione corrente. È più semplice ricordare e digitare l'ID dell'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.
Type: | Int32[] |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | 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 cui Get-Job
restituisce un processo padre del contenitore e errori di processo, perché il motivo dell'errore viene salvato in una proprietà del processo figlio.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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
.
Type: | Guid[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Newest
Specifica un numero di processi da ottenere. Questo cmdlet ottiene i processi che hanno terminato più di recente.
Il parametro Newest non ordina né restituisce i processi più recenti nell'ordine in base all'ora di completamento. Per ordinare l'output, usare il Sort-Object
cmdlet.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-State
Specifica uno stato del processo. Questo cmdlet ottiene solo processi nello stato specificato. I valori validi per questo parametro sono:
- NotStarted
- In esecuzione
- Completato
- Non riuscito
- Arrestato
- Bloccato
- Suspended
- Disconnesso
- Suspending
- Stopping
Per impostazione predefinita, Get-Job
ottiene tutti i processi nella sessione corrente.
Per altre informazioni sugli stati dei processi, vedere Enumerazione JobState.
Type: | JobState |
Accepted values: | NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Input
None
Non è possibile eseguire la pipe degli 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. 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 usando
Start-Job
. - RemoteJob. Processo avviato in una sessione PSSession usando il parametro AsJob del
Invoke-Command
cmdlet. - PSWorkflowJob. processo avviato con il parametro comune AsJob dei flussi di lavoro.