Get-Job
Obtém trabalhos em segundo plano do PowerShell que estão em execução na sessão atual.
Sintaxe
SessionIdParameterSet (Padrão)
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>]
Description
O Get-Job cmdlet obtém objetos que representam os trabalhos em segundo plano iniciados na sessão atual. Você pode usar Get-Job para obter trabalhos que foram iniciados usando o Start-Job cmdlet ou usando o parâmetro AsJob de qualquer cmdlet.
Sem parâmetros, um Get-Job comando obtém todos os trabalhos na sessão atual. Você pode usar os parâmetros para Get-Job obter trabalhos específicos.
O objeto de trabalho que Get-Job retorna contém informações úteis sobre o trabalho, mas não contém os resultados do trabalho. Para obter os resultados, use o Receive-Job cmdlet.
Um trabalho em segundo plano do Windows PowerShell é um comando executado em segundo plano sem interagir com a sessão atual. Normalmente, você usa um trabalho em segundo plano para executar um comando complexo que leva muito tempo para ser concluído. Para obter mais informações sobre trabalhos em segundo plano no Windows PowerShell, consulte about_Jobs.
A partir do Windows PowerShell 3.0, o Get-Job cmdlet também obtém tipos de trabalho personalizados, como trabalhos de fluxo de trabalho e instâncias de trabalhos agendados. Para localizar o tipo de trabalho de um trabalho, use a propriedade PSJobTypeName do trabalho.
Para habilitar Get-Job a obtenção de um tipo de trabalho personalizado, importe o módulo que dá suporte ao tipo de trabalho personalizado para a sessão antes de executar um Get-Job comando, usando o Import-Module cmdlet ou usando ou obtendo um cmdlet no módulo. Para obter informações sobre um tipo de trabalho personalizado específico, consulte a documentação do recurso de tipo de trabalho personalizado.
Exemplos
Exemplo 1: Obter todos os trabalhos em segundo plano iniciados na sessão atual
Esse comando obtém todos os trabalhos em segundo plano iniciados na sessão atual. Ele não inclui trabalhos criados em outras sessões, mesmo que os trabalhos sejam executados no computador local.
Get-Job
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
1 Job1 BackgroundJob Completed True localhost $Env:COMPUTERNAME
Exemplo 2: parar um trabalho usando uma ID de instância
Esses comandos mostram como obter a ID da instância de um trabalho e usá-la para interromper um trabalho. Ao contrário do nome de um trabalho, que não é exclusivo, a ID da instância é exclusiva.
O primeiro comando usa o Get-Job cmdlet para obter um trabalho. Ele usa o parâmetro Name para identificar o trabalho. O comando armazena o objeto de trabalho que Get-Job retorna na $j variável. Neste exemplo, há apenas um trabalho com o nome especificado. O segundo comando obtém a propriedade InstanceId do objeto na variável e a $j armazena na $ID variável. O terceiro comando exibe o valor da $ID variável. O quarto comando usa Stop-Job o cmdlet para interromper o trabalho.
Ele usa o parâmetro InstanceId para identificar o trabalho e $ID a variável para representar a ID da instância do trabalho.
$j = Get-Job -Name Job1
$ID = $j.InstanceId
$ID
Guid
----
03c3232e-1d23-453b-a6f4-ed73c9e29d55
Stop-Job -InstanceId $ID
Exemplo 3: Obter trabalhos que incluem um comando específico
Esse comando obtém os trabalhos no sistema que incluem um Get-Process comando. O comando usa o parâmetro Command para Get-Job limitar os trabalhos recuperados. O comando usa caracteres curinga (*) para obter trabalhos que incluem um Get-Process comando em qualquer lugar na cadeia de caracteres de comando.
Get-Job -Command "*Get-Process*"
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
3 Job3 BackgroundJob Running True localhost Get-Process
Exemplo 4: Obter trabalhos que incluem um comando específico usando o pipeline
Assim como o comando no exemplo anterior, esse comando obtém os trabalhos no sistema que incluem um Get-Process comando. O comando usa um operador de pipeline (|) para enviar um PSCustomObject com o Comando NoteProperty para o Get-Job cmdlet. É o equivalente ao comando anterior.
[pscustomobject]@{Command='*Get-Process*'} | Get-Job
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
3 Job3 BackgroundJob Running True localhost Get-Process
Exemplo 5: Obter trabalhos que não foram iniciados
Esse comando obtém apenas os trabalhos que foram criados, mas ainda não foram iniciados. Isso inclui trabalhos que estão programados para serem executados no futuro e aqueles ainda não agendados.
Get-Job -State NotStarted
Exemplo 6: Obter trabalhos que não receberam um nome
Esse comando obtém todos os trabalhos que têm nomes de trabalho que começam com o trabalho. Como job<number> é o nome padrão de um trabalho, esse comando obtém todos os trabalhos que não têm um nome atribuído explicitamente.
Get-Job -Name Job*
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
1 Job1 BackgroundJob Completed True localhost $Env:COMPUTERNAME
Exemplo 7: Usar um objeto de trabalho para representar o trabalho em um comando
Este exemplo mostra como usar Get-Job para obter um objeto de trabalho e, em seguida, mostra como usar o objeto de trabalho para representar o trabalho em um comando.
O primeiro comando usa o Start-Job cmdlet para iniciar um trabalho em segundo plano que executa um Get-Process comando no computador local. O comando usa o parâmetro Name para Start-Job atribuir um nome amigável ao trabalho. O segundo comando usa Get-Job para obter o trabalho. Ele usa o parâmetro Name para Get-Job identificar o trabalho. O comando salva o objeto de trabalho resultante na $j variável. O terceiro comando exibe o valor do objeto de trabalho na $j variável. O valor da propriedade State mostra que o trabalho foi concluído. O valor da propriedade HasMoreData mostra que há resultados disponíveis no trabalho que ainda não foram recuperados. O quarto comando usa o Receive-Job cmdlet para obter os resultados do trabalho. Ele usa o objeto de trabalho na $j variável para representar o trabalho. Você também pode usar um operador de pipeline para enviar um objeto de trabalho para 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
...
Exemplo 8: Obter todos os trabalhos, incluindo trabalhos iniciados por um método diferente
Este exemplo demonstra que o Get-Job cmdlet pode obter todos os trabalhos que foram iniciados na sessão atual, mesmo que tenham sido iniciados usando métodos diferentes.
O primeiro comando usa o Start-Job cmdlet para iniciar um trabalho no computador local. O segundo comando usa o parâmetro AsJob do Invoke-Command cmdlet para iniciar um trabalho no computador S1. Mesmo que os comandos no trabalho sejam executados no computador remoto, o objeto de trabalho é criado no computador local, portanto, você usa comandos locais para gerenciar o trabalho. O terceiro comando usa o Invoke-Command cmdlet para executar um Start-Job comando no computador S2. Usando esse método, o objeto de trabalho é criado no computador remoto, portanto, você usa comandos remotos para gerenciar o trabalho. O quarto comando usa para obter os trabalhos armazenados Get-Job no computador local. A propriedade PSJobTypeName de trabalhos, introduzida no Windows PowerShell 3.0, mostra que o trabalho local iniciado usando o Start-Job cmdlet é um trabalho em segundo plano e o trabalho iniciado em uma sessão remota usando o Invoke-Command cmdlet é um trabalho remoto. O quinto, sexto e sétimo comando usa o New-PSSession cmdlet para criar uma PSSession que está conectada ao computador S2, ele usa Invoke-Command para iniciar um trabalho no computador remoto usando o PSSession e o parâmetro Session . Em seguida, ele obtém o trabalho usando o Get-Job comando no computador S2 usando a PSSession.
A saída de exemplo mostra os resultados do Get-Job comando. No computador S2, o trabalho parece ser um trabalho local. O nome do computador é localhost e o tipo de trabalho é um trabalho em segundo plano.
Para obter mais informações sobre como executar trabalhos em segundo plano em computadores remotos, consulte 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
Exemplo 9: investigar um trabalho com falha
Este comando mostra como usar o objeto de trabalho que Get-Job retorna para investigar por que um trabalho falhou.
Ele também mostra como obter os trabalhos filho de cada trabalho.
O primeiro comando usa o Start-Job cmdlet para iniciar um trabalho no computador local. O objeto de trabalho que Start-Job retorna mostra que o trabalho falhou. O valor da propriedade State é Falha.
O segundo comando usa o Get-Job cmdlet para obter o trabalho. O comando usa o método ponto para obter o valor da propriedade JobStateInfo do objeto. Ele usa um operador de pipeline para enviar o objeto na propriedade JobStateInfo para o Format-List cmdlet, que formata todas as propriedades do objeto (*) em uma lista. O resultado do Format-List comando mostra que o valor da propriedade Reason do trabalho está em branco.
O terceiro comando investiga mais. Ele usa um Get-Job comando para obter o trabalho e, em seguida, usa um operador de pipeline para enviar todo o objeto de trabalho para o Format-List cmdlet, que exibe todas as propriedades do trabalho em uma lista. A exibição de todas as propriedades no objeto de trabalho mostra que o trabalho contém um trabalho filho chamado Job2.
O quarto comando usa Get-Job para obter o objeto de trabalho que representa o trabalho filho job2. Esse é o trabalho no qual o comando realmente foi executado. Ele usa o método ponto para obter a propriedade Reason da propriedade JobStateInfo . O resultado mostra que o trabalho falhou devido a um erro negado pelo Access. Nesse caso, o usuário esqueceu de usar a opção Executar como administrador ao iniciar o Windows PowerShell.Como os trabalhos em segundo plano usam os recursos de comunicação remota do Windows PowerShell, o computador deve ser configurado para comunicação remota para executar um trabalho, mesmo quando o trabalho é executado no computador local. Para obter informações sobre os requisitos de comunicação remota no Windows PowerShell, consulte about_Remote_Requirements. Para obter dicas de solução de problemas, consulte 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.
Exemplo 10: Obter resultados filtrados
Este exemplo mostra como usar o parâmetro Filter para obter um trabalho de fluxo de trabalho. O parâmetro Filter, introduzido no Windows PowerShell 3.0, é válido somente em tipos de trabalho personalizados, como trabalhos de fluxo de trabalho e trabalhos agendados.
O primeiro comando usa a workflow palavra-chave para criar o fluxo de trabalho do WFProcess. O segundo comando usa o parâmetro AsJob do fluxo de trabalho do WFProcess para executar o fluxo de trabalho como um trabalho em segundo plano. Ele usa o parâmetro JobName do fluxo de trabalho para especificar um nome para o trabalho e o parâmetro PSPrivateMetadata do fluxo de trabalho para especificar uma ID personalizada. O terceiro comando usa o parâmetro Filter para Get-Job obter o trabalho por ID personalizada especificada no parâmetro 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
Exemplo 11: Obter informações sobre trabalhos filho
Este exemplo mostra o efeito de usar os parâmetros IncludeChildJob e ChildJobState do Get-Job cmdlet.
O primeiro comando obtém os trabalhos na sessão atual. A saída inclui um trabalho em segundo plano, um trabalho remoto e várias instâncias de um trabalho agendado. O trabalho remoto, Job4, parece ter falhado.
O segundo comando usa o parâmetro IncludeChildJob de Get-Job. A saída adiciona os trabalhos filho de todos os trabalhos que têm trabalhos filho. Nesse caso, a saída revisada mostra que apenas o trabalho filho job5 do Job4 falhou. O terceiro comando usa o parâmetro ChildJobState com um valor de Failed.A saída inclui todos os trabalhos pai e apenas os trabalhos filho que falharam. O quinto comando usa a propriedade JobStateInfo de trabalhos e sua propriedade Reason para descobrir por que Job5 falhou.
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.
Para obter mais informações, consulte o tópico da Ajuda about_Remote_Troubleshooting .
Parâmetros
-After
Obtém trabalhos concluídos que terminaram após a data e hora especificadas. Insira um objeto DateTime , como um retornado pelo Get-Date cmdlet ou uma cadeia de caracteres que pode ser convertida em um objeto DateTime , como Dec 1, 2012 2:00 AM ou 11/06.
Esse parâmetro funciona apenas em tipos de trabalho personalizados, como trabalhos de fluxo de trabalho e trabalhos agendados, que têm uma propriedade EndTime. Ele não funciona em trabalhos em segundo plano padrão, como aqueles criados usando o cmdlet Start-Job. Para obter informações sobre o suporte para esse parâmetro, consulte o tópico de ajuda para o tipo de trabalho.
Esse parâmetro foi introduzido no Windows PowerShell 3.0.
Propriedades do parâmetro
| Tipo: | DateTime |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
SessionIdParameterSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
InstanceIdParameterSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
NameParameterSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
StateParameterSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
CommandParameterSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Before
Obtém trabalhos concluídos que terminaram antes da data e hora especificadas. Insira um objeto DateTime.
Esse parâmetro funciona apenas em tipos de trabalho personalizados, como trabalhos de fluxo de trabalho e trabalhos agendados, que têm uma propriedade EndTime. Ele não funciona em trabalhos em segundo plano padrão, como aqueles criados usando o cmdlet Start-Job. Para obter informações sobre o suporte para esse parâmetro, consulte o tópico de ajuda para o tipo de trabalho.
Esse parâmetro foi introduzido no Windows PowerShell 3.0.
Propriedades do parâmetro
| Tipo: | DateTime |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
SessionIdParameterSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
InstanceIdParameterSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
NameParameterSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
StateParameterSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
CommandParameterSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-ChildJobState
Obtém apenas os trabalhos filho que têm o estado especificado. Os valores aceitáveis para este parâmetro são:
- NotStarted
- Correndo
- Concluído
- Falha
- Parado
- Bloqueado
- Suspenso
- Desconectado
- Suspensão
- Parar
Por padrão, Get-Job não obtém trabalhos filho. Usando o parâmetro IncludeChildJob , Get-Job obtém todos os trabalhos filho. Se você usar o parâmetro ChildJobState, o parâmetro IncludeChildJob não terá efeito.
Esse parâmetro foi introduzido no Windows PowerShell 3.0.
Propriedades do parâmetro
| Tipo: | JobState |
| Valor padrão: | None |
| Valores aceitos: | NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
SessionIdParameterSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
InstanceIdParameterSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
NameParameterSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
StateParameterSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
CommandParameterSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Command
Especifica uma matriz de comandos como cadeias de caracteres. Esse cmdlet obtém os trabalhos que incluem os comandos especificados. O padrão é obter todos os trabalhos. Você pode usar caracteres curinga para especificar um padrão de comando.
Propriedades do parâmetro
| Tipo: | String[] |
| Valor padrão: | None |
| Dá suporte a curingas: | True |
| DontShow: | False |
Conjuntos de parâmetros
CommandParameterSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | True |
| Valor dos argumentos restantes: | False |
-Filter
Especifica uma tabela hash de condições. Esse cmdlet obtém trabalhos que atendem a todas as condições. Insira uma tabela de hash na qual as chaves são propriedades do trabalho e os valores são valores de propriedade do trabalho.
Esse parâmetro funciona apenas em tipos de trabalho personalizados, como trabalhos de fluxo de trabalho e trabalhos agendados. Ele não funciona em trabalhos em segundo plano padrão, como aqueles criados usando o cmdlet Start-Job. Para obter informações sobre o suporte para esse parâmetro, consulte o tópico de ajuda para o tipo de trabalho.
Esse parâmetro foi introduzido no Windows PowerShell 3.0.
Propriedades do parâmetro
| Tipo: | Hashtable |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
FilterParameterSet
| Cargo: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | True |
| Valor dos argumentos restantes: | False |
-HasMoreData
Indica se esse cmdlet obtém apenas trabalhos que têm o valor de propriedade HasMoreData especificado.
A propriedade HasMoreData indica se todos os resultados do trabalho foram recebidos na sessão atual. Para obter trabalhos que tenham mais resultados, especifique um valor de $true. Para obter trabalhos que não têm mais resultados, especifique um valor de $false.
Para obter os resultados de um trabalho, use o Receive-Job cmdlet.
Quando você usa o Receive-Job cmdlet, ele exclui de seu armazenamento na memória, específico da sessão, os resultados que ele retornou. Quando ele retorna todos os resultados do trabalho na sessão atual, ele define o valor da propriedade HasMoreData do trabalho como $false) para indicar que ele não tem mais resultados para o trabalho na sessão atual. Use o parâmetro Keep para Receive-Job impedir Receive-Job a exclusão de resultados e a alteração do valor da propriedade HasMoreData .
Para obter mais informações, digite Get-Help Receive-Job.
A propriedade HasMoreData é específica para a sessão atual. Se os resultados de um tipo de trabalho personalizado forem salvos fora da sessão, como o tipo de trabalho agendado, que salva os resultados do trabalho em disco, você poderá usar o Receive-Job cmdlet em uma sessão diferente para obter os resultados do trabalho novamente, mesmo que o valor de HasMoreData seja $false. Para obter mais informações, consulte os tópicos de ajuda para o tipo de trabalho personalizado.
Esse parâmetro foi introduzido no Windows PowerShell 3.0.
Propriedades do parâmetro
| Tipo: | Boolean |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
SessionIdParameterSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
InstanceIdParameterSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
NameParameterSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
StateParameterSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
CommandParameterSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Id
Especifica uma matriz de IDs de trabalhos que esse cmdlet obtém.
A ID é um número inteiro que identifica exclusivamente o trabalho na sessão atual. É mais fácil lembrar e digitar do que a ID da instância, mas ela é exclusiva apenas na sessão atual. Você pode digitar uma ou mais IDs separadas por vírgulas. Para localizar a ID de um trabalho, digite Get-Job sem parâmetros.
Propriedades do parâmetro
| Tipo: | Int32[] |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
SessionIdParameterSet
| Cargo: | 0 |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | True |
| Valor dos argumentos restantes: | False |
-IncludeChildJob
Indica que esse cmdlet retorna trabalhos filho, além de trabalhos pai.
Esse parâmetro é especialmente útil para investigar trabalhos de fluxo de trabalho, para os quais Get-Job retorna um trabalho pai de contêiner e falhas de trabalho, porque o motivo da falha é salvo em uma propriedade do trabalho filho.
Esse parâmetro foi introduzido no Windows PowerShell 3.0.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
SessionIdParameterSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
InstanceIdParameterSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
NameParameterSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
StateParameterSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
CommandParameterSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-InstanceId
Especifica uma matriz de IDs de instância de trabalhos que esse cmdlet obtém. O padrão é obter todos os trabalhos.
Uma ID de instância é um GUID que identifica exclusivamente o trabalho no computador. Para localizar a ID de instância de um trabalho, use Get-Job.
Propriedades do parâmetro
| Tipo: | Guid[] |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
InstanceIdParameterSet
| Cargo: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | True |
| Valor dos argumentos restantes: | False |
-Name
Especifica uma matriz de nomes amigáveis de instância de trabalhos que esse cmdlet obtém. Insira um nome de trabalho ou use caracteres curinga para inserir um padrão de nome de trabalho. Por padrão, Get-Job obtém todos os trabalhos na sessão atual.
Propriedades do parâmetro
| Tipo: | String[] |
| Valor padrão: | None |
| Dá suporte a curingas: | True |
| DontShow: | False |
Conjuntos de parâmetros
NameParameterSet
| Cargo: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | True |
| Valor dos argumentos restantes: | False |
-Newest
Especifica vários trabalhos a serem obtidos. Esse cmdlet obtém os trabalhos que terminaram mais recentemente.
O parâmetro mais recente não classifica nem retorna os trabalhos mais recentes na ordem de término. Para classificar a saída, use o Sort-Object cmdlet.
Esse parâmetro foi introduzido no Windows PowerShell 3.0.
Propriedades do parâmetro
| Tipo: | Int32 |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
SessionIdParameterSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
InstanceIdParameterSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
NameParameterSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
StateParameterSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
CommandParameterSet
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-State
Especifica um estado de trabalho. Esse cmdlet obtém apenas trabalhos no estado especificado. Os valores aceitáveis para este parâmetro são:
- NotStarted
- Correndo
- Concluído
- Falha
- Parado
- Bloqueado
- Suspenso
- Desconectado
- Suspensão
- Parar
Por padrão, Get-Job obtém todos os trabalhos na sessão atual.
Para obter mais informações sobre os estados dos trabalhos, consulte Enumeração de JobState.
Propriedades do parâmetro
| Tipo: | JobState |
| Valor padrão: | None |
| Valores aceitos: | NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
StateParameterSet
| Cargo: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | True |
| Valor dos argumentos restantes: | False |
CommonParameters
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
Entradas
None
Não é possível transferir objetos para esse cmdlet.
Saídas
System.Management.Automation.RemotingJob
Esse cmdlet retorna objetos que representam os trabalhos na sessão.
Observações
O PowerShell inclui os seguintes aliases para Get-Job:
- Todas as plataformas:
gjb
A propriedade PSJobTypeName de trabalhos indica o tipo de trabalho do trabalho. O valor da propriedade é determinado pelo autor do tipo de trabalho. A lista a seguir mostra tipos de trabalho comuns.
-
BackgroundJob. Trabalho local iniciado usando
Start-Job. -
Trabalho remoto. Trabalho iniciado em uma PSSession usando o parâmetro AsJob do
Invoke-Commandcmdlet. - PSWorkflowJob . Trabalho iniciado usando o AsJob parâmetro comum de fluxos de trabalho.