Get-Job
Ottiene i processi in background di PowerShell in esecuzione nella sessione corrente.
Sintassi
SessionIdParameterSet (impostazione predefinita).
Get-Job
[[-Id] <Int32[]>]
[-IncludeChildJob]
[-ChildJobState <JobState>]
[-HasMoreData <Boolean>]
[-Before <DateTime>]
[-After <DateTime>]
[-Newest <Int32>]
[<CommonParameters>]
InstanceIdParameterSet
Get-Job
[-InstanceId] <Guid[]>
[-IncludeChildJob]
[-ChildJobState <JobState>]
[-HasMoreData <Boolean>]
[-Before <DateTime>]
[-After <DateTime>]
[-Newest <Int32>]
[<CommonParameters>]
NameParameterSet
Get-Job
[-Name] <String[]>
[-IncludeChildJob]
[-ChildJobState <JobState>]
[-HasMoreData <Boolean>]
[-Before <DateTime>]
[-After <DateTime>]
[-Newest <Int32>]
[<CommonParameters>]
StateParameterSet
Get-Job
[-State] <JobState>
[-IncludeChildJob]
[-ChildJobState <JobState>]
[-HasMoreData <Boolean>]
[-Before <DateTime>]
[-After <DateTime>]
[-Newest <Int32>]
[<CommonParameters>]
CommandParameterSet
Get-Job
[-IncludeChildJob]
[-ChildJobState <JobState>]
[-HasMoreData <Boolean>]
[-Before <DateTime>]
[-After <DateTime>]
[-Newest <Int32>]
[-Command <String[]>]
[<CommonParameters>]
FilterParameterSet
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 che viene 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 essere completato. Per ulteriori 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, 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 particolare tipo di processo personalizzato, vedere la documentazione della funzionalità del tipo di processo personalizzato.
Esempio
Esempio 1: Avviare tutti i processi in background nella sessione corrente
Questo comando consente di avviare tutti i processi in background nella sessione corrente. Non include i processi creati in altre sessioni, anche se i processi vengono eseguiti nel computer locale.
Get-Job
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
1 Job1 BackgroundJob Completed True localhost $Env:COMPUTERNAME
Esempio 2: Arresto di un processo utilizzando un ID istanza
Questi comandi mostrano come ottenere l'ID istanza di un processo e quindi utilizzarlo 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-Jobcomando 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 che non sono stati avviati
Questo comando ottiene solo i lavori che sono stati creati ma non sono ancora stati avviati. Sono inclusi 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 lavoro che iniziano con 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 lavori, inclusi i lavori avviati con 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 lavori figli di ogni lavoro.
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 utilizzare 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 i processi del flusso di lavoro e i processi pianificati.
Il primo comando usa la workflow parola chiave 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 lavori secondari
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 che sono terminati 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 processo 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 cmdlet Start-Job. Per informazioni sul supporto per questo parametro, vedere l'argomento della guida relativo al tipo di processo.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Proprietà dei parametri
| Tipo: | DateTime |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
SessionIdParameterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
InstanceIdParameterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
NameParameterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
StateParameterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
CommandParameterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Before
Ottiene i processi completati che sono terminati 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 dispongono di una proprietà EndTime . Non funziona su processi in background standard, ad esempio quelli creati usando il cmdlet Start-Job. Per informazioni sul supporto per questo parametro, vedere l'argomento della guida relativo al tipo di processo.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Proprietà dei parametri
| Tipo: | DateTime |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
SessionIdParameterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
InstanceIdParameterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
NameParameterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
StateParameterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
CommandParameterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-ChildJobState
Ottiene solo i processi figlio con lo stato specificato. I valori accettabili per questo parametro sono:
- Non Avviato
- Correre
- Finito
- Non riuscito
- Fermato
- Bloccati
- Sospeso
- Disconnesso
- Sospensione
- Interruzione
Per impostazione predefinita, Get-Job non ottiene processi figlio. Usando il parametro IncludeChildJob , Get-Job ottiene tutti i processi figlio. Se si utilizza il parametro ChildJobState , il parametro IncludeChildJob non ha alcun effetto.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Proprietà dei parametri
| Tipo: | JobState |
| Valore predefinito: | None |
| Valori accettati: | NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
SessionIdParameterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
InstanceIdParameterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
NameParameterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
StateParameterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
CommandParameterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Command
Specifica una matrice di comandi come stringhe. Questo cmdlet ottiene i processi che includono i comandi specificati. Il valore predefinito è tutte le attività. È possibile utilizzare i caratteri jolly per specificare un modello di comando.
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | True |
| DontShow: | False |
Set di parametri
CommandParameterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | True |
| Valore dagli argomenti rimanenti: | False |
-Filter
Specifica una tabella hash di condizioni. Questo cmdlet consente di ottenere processi che soddisfano tutte le condizioni. Immettere una tabella hash in cui le chiavi sono proprietà del processo e i valori sono valori delle proprietà del processo.
Questo parametro funziona solo su tipi di processi personalizzati, ad esempio processi del flusso di lavoro e processi pianificati. Non funziona su processi in background standard, ad esempio quelli creati usando il cmdlet Start-Job. Per informazioni sul supporto per questo parametro, vedere l'argomento della guida relativo al tipo di processo.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Proprietà dei parametri
| Tipo: | Hashtable |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
FilterParameterSet
| Posizione: | 0 |
| Obbligatorio: | True |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | True |
| Valore dagli argomenti rimanenti: | 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 altre 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 ulteriori informazioni, vedere gli argomenti della Guida relativi al tipo di processo personalizzato.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Proprietà dei parametri
| Tipo: | Boolean |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
SessionIdParameterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
InstanceIdParameterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
NameParameterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
StateParameterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
CommandParameterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Id
Specifica una matrice di ID dei processi ottenuti da questo cmdlet.
L'ID è un numero intero che identifica in modo univoco il lavoro 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.
Proprietà dei parametri
| Tipo: | Int32[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
SessionIdParameterSet
| Posizione: | 0 |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | True |
| Valore dagli argomenti rimanenti: | False |
-IncludeChildJob
Indica che questo cmdlet restituisce i 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.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
SessionIdParameterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
InstanceIdParameterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
NameParameterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
StateParameterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
CommandParameterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-InstanceId
Specifica una matrice di ID istanza dei processi ottenuti da questo cmdlet. Il valore predefinito è tutte le attività.
Un ID istanza è un GUID che identifica in modo univoco l'attività nel computer. Per trovare l'ID istanza di un processo, utilizzare Get-Job.
Proprietà dei parametri
| Tipo: | Guid[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
InstanceIdParameterSet
| Posizione: | 0 |
| Obbligatorio: | True |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | True |
| Valore dagli argomenti rimanenti: | False |
-Name
Specifica una matrice di nomi descrittivi di istanza dei processi ottenuti da questo cmdlet. Immettere un nome di lavoro o utilizzare i caratteri jolly per immettere un modello di nome di processo. Per impostazione predefinita, Get-Job ottiene tutti i processi nella sessione corrente.
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | True |
| DontShow: | False |
Set di parametri
NameParameterSet
| Posizione: | 0 |
| Obbligatorio: | True |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | True |
| Valore dagli argomenti rimanenti: | False |
-Newest
Specifica un numero di processi da ottenere. Questo cmdlet ottiene i processi terminati più di recente.
Il parametro Newer non ordina né restituisce i processi più recenti nell'ordine dell'ora di fine. Per ordinare l'output, usare il Sort-Object cmdlet .
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Proprietà dei parametri
| Tipo: | Int32 |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
SessionIdParameterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
InstanceIdParameterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
NameParameterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
StateParameterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
CommandParameterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-State
Specifica uno stato di lavoro. Questo cmdlet ottiene solo i processi nello stato specificato. I valori accettabili per questo parametro sono:
- Non Avviato
- Correre
- Finito
- Non riuscito
- Fermato
- Bloccati
- Sospeso
- Disconnesso
- Sospensione
- Interruzione
Per impostazione predefinita, Get-Job ottiene tutti i processi nella sessione corrente.
Per altre informazioni sugli stati del processo, vedere 'enumerazione JobState.
Proprietà dei parametri
| Tipo: | JobState |
| Valore predefinito: | None |
| Valori accettati: | NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
StateParameterSet
| Posizione: | 0 |
| Obbligatorio: | True |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | True |
| Valore dagli argomenti rimanenti: | False |
CommonParameters
Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.
Input
None
Gli oggetti non possono essere inviati tramite pipe a questo cmdlet.
Output
System.Management.Automation.RemotingJob
Questo cmdlet restituisce gli 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. Nell'elenco seguente vengono illustrati i tipi di processo comuni.
-
Lavoro in background. Processo locale avviato tramite
Start-Job. -
Lavoro remoto. Processo avviato in una sessione PSSession usando il parametro AsJob del
Invoke-Commandcmdlet . - PSWorkflowJob. Il processo è stato avviato usando il parametro comune AsJob dei flussi di lavoro.