Partilhar via


Get-Job

Obtém trabalhos em segundo plano do PowerShell que estão sendo executados na sessão atual.

Sintaxe

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>]

Description

O cmdlet Get-Job obtém objetos que representam os trabalhos em segundo plano que foram iniciados na sessão atual. Você pode usar Get-Job para obter trabalhos que foram iniciados usando o cmdlet Start-Job ou usando o parâmetro AsJob de qualquer cmdlet.

Sem parâmetros, um comando Get-Job obtém todos os trabalhos na sessão atual. Você pode usar os parâmetros de Get-Job para 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 cmdlet Receive-Job.

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 cmdlet Get-Job 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 permitir que Get-Job obtenha 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 comando Get-Job, usando o cmdlet Import-Module 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: Iniciar todos os trabalhos em segundo plano na sessão atual

Este comando inicia todos os trabalhos em segundo plano 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 um ID de instância

Esses comandos mostram como obter o ID de instância de um trabalho e, em seguida, usá-lo para interromper um trabalho. Ao contrário do nome de um trabalho, que não é exclusivo, o ID da instância é exclusivo.

O primeiro comando usa o cmdlet Get-Job 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 variável $j. Neste exemplo, há apenas um trabalho com o nome especificado. O segundo comando obtém a propriedade InstanceId do objeto na variável $j e a armazena na variável $ID. O terceiro comando exibe o valor da variável $ID. O quarto comando usa Stop-Job cmdlet para interromper o trabalho. Ele usa o parâmetro InstanceId para identificar o trabalho e $ID variável para representar o 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

Este comando obtém os trabalhos no sistema que incluem um comando Get-Process. O comando usa o parâmetro Command de Get-Job para limitar os trabalhos recuperados. O comando usa caracteres curinga (*) para obter trabalhos que incluem um comando Get-Process em qualquer lugar na cadeia 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

Como o comando no exemplo anterior, este comando obtém os trabalhos no sistema que incluem um comando Get-Process. O comando usa um operador de pipeline (|) para enviar um PSCustomObject com o comando NoteProperty , para o cmdlet Get-Job. É 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

Este 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 que ainda não estão agendados.

Get-Job -State NotStarted

Exemplo 6: Obter trabalhos aos quais não foi atribuído um nome

Este comando obtém todos os trabalhos que têm nomes de trabalho que começam com trabalho. Como job<number> é o nome padrão para 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 cmdlet Start-Job para iniciar um trabalho em segundo plano que executa um comando Get-Process no computador local. O comando usa o parâmetro Name de Start-Job para atribuir um nome amigável ao trabalho. O segundo comando usa Get-Job para obter o trabalho. Ele usa o Name parâmetro de Get-Job para identificar o trabalho. O comando salva o objeto de trabalho resultante na variável $j. O terceiro comando exibe o valor do objeto de trabalho na variável $j. O valor da propriedade State mostra que o trabalho foi concluído. O valor da propriedade HasMoreData mostra que há resultados disponíveis do trabalho que ainda não foram recuperados. O quarto comando usa o cmdlet Receive-Job para obter os resultados do trabalho. Ele usa o objeto de trabalho na variável $j 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 cmdlet Get-Job 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 cmdlet Start-Job para iniciar um trabalho no computador local. O segundo comando usa o parâmetro AsJob do cmdlet Invoke-Command para iniciar um trabalho no computador S1. Embora 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 cmdlet Invoke-Command para executar um comando Start-Job no computador S2. Usando esse método, o objeto de trabalho é criado no computador remoto, para que você use comandos remotos para gerenciar o trabalho. O quarto comando usa Get-Job para obter os trabalhos armazenados no computador local. A propriedade PSJobTypeName de trabalhos, introduzida no Windows PowerShell 3.0, mostra que o trabalho local iniciado usando o cmdlet Start-Job é um trabalho em segundo plano e o trabalho iniciado em uma sessão remota usando o cmdlet Invoke-Command é um trabalho remoto. O quinto, sexto e sétimo comandos usa o cmdlet New-PSSession para criar uma PSSession conectada ao computador S2, 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 comando Get-Job no computador S2 usando o PSSession. A saída de exemplo mostra os resultados do comando Get-Job. 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. Também mostra como conseguir os empregos filhos de cada trabalho.

O primeiro comando usa o cmdlet Start-Job 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 é Failed.

O segundo comando usa o cmdlet Get-Job para obter o trabalho. O comando usa o método dot para obter o valor da propriedade JobStateInfo do objeto. Ele usa um operador de pipeline para enviar o objeto na propriedade JobStateInfo para o cmdlet Format-List, que formata todas as propriedades do objeto (*) em uma lista. O resultado do comando Format-List mostra que o valor da propriedade Reason do trabalho está em branco.

O terceiro comando investiga mais. Ele usa um comando Get-Job para obter o trabalho e, em seguida, usa um operador de pipeline para enviar todo o objeto de trabalho para o cmdlet Format-List, 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. Este é o trabalho em que o comando realmente correu. Ele usa o método dot para obter a propriedade Reason da propriedade JobStateInfo. O resultado mostra que o trabalho falhou devido a um erro de acesso negado. 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 Filtro de, introduzido no Windows PowerShell 3.0, é válido apenas em tipos de trabalho personalizados, como trabalhos de fluxo de trabalho e trabalhos agendados.

O primeiro comando usa a palavra-chave Workflow para criar o fluxo de trabalho WFProcess. O segundo comando usa o parâmetro AsJob do fluxo de trabalho 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 de Get-Job para obter o trabalho por ID personalizado especificado 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 empregos infantis

Este exemplo mostra o efeito do uso do IncludeChildJob e parâmetros de ChildJobState do cmdlet Get-Job.

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. O resultado adiciona os empregos infantis de todos os empregos que têm empregos infantis. Neste caso, a saída revisada mostra que apenas o trabalho filho Job5 de 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 jobs 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 do 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 cmdlet Get-Date ou uma cadeia de caracteres que possa 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.

Tipo:DateTime
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais: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.

Tipo:DateTime
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais: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
  • Em execução
  • Concluída |
  • Falhou
  • Parou
  • Bloqueado
  • Suspenso
  • Desconectado
  • Suspensão
  • Parar

Por padrão, Get-Job não consegue empregos infantis. 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.

Tipo:JobState
Valores aceites:NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-Command

Especifica uma matriz de comandos como cadeias de caracteres. Este cmdlet obtém os trabalhos que incluem os comandos especificados. O padrão é todos os trabalhos. Você pode usar caracteres curinga para especificar um padrão de comando.

Tipo:String[]
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:True
Aceitar carateres universais:True

-Filter

Especifica uma tabela de condições de hash. Este cmdlet obtém trabalhos que satisfazem todas as condições. Insira uma tabela de hash onde as chaves são propriedades de trabalho e os valores são valores de propriedade de 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.

Tipo:Hashtable
Position:0
Default value:None
Necessário:True
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-HasMoreData

Indica se esse cmdlet obtém apenas trabalhos que têm o valor da propriedade HasMoreData especificado. A propriedade HasMoreData indica se todos os resultados do trabalho foram recebidos na sessão atual. Para obter trabalhos com 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 cmdlet Receive-Job.

Quando você usa o cmdlet Receive-Job, ele exclui de seu armazenamento na memória, específico da sessão, os resultados retornados. 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 de Receive-Job para impedir que Receive-Job excluam resultados e alterem o 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 no disco, você poderá usar o cmdlet Receive-Job 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.

Tipo:Boolean
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-Id

Especifica uma matriz de IDs de trabalhos que esse cmdlet obtém.

O ID é um número inteiro que identifica exclusivamente o trabalho na sessão atual. É mais fácil de lembrar e digitar do que o ID da instância, mas é exclusivo 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.

Tipo:Int32[]
Position:0
Default value:None
Necessário:False
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-IncludeChildJob

Indica que esse cmdlet retorna trabalhos filho, além dos 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.

Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-InstanceId

Especifica uma matriz de IDs de instância de trabalhos que esse cmdlet obtém. O padrão é todos os trabalhos.

Um 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.

Tipo:Guid[]
Position:0
Default value:None
Necessário:True
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-Name

Especifica uma matriz de nomes amigáveis de instâncias 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 recebe todos os trabalhos na sessão atual.

Tipo:String[]
Position:0
Default value:None
Necessário:True
Aceitar entrada de pipeline:True
Aceitar carateres universais:True

-Newest

Especifica um número de trabalhos a serem obtidos. Este cmdlet obtém os trabalhos que terminaram mais recentemente.

O parâmetro Newest não classifica nem retorna os trabalhos mais recentes em ordem de tempo final. Para classificar a saída, use o cmdlet Sort-Object.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:Int32
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-State

Especifica um estado de trabalho. Este cmdlet obtém apenas trabalhos no estado especificado. Os valores aceitáveis para este parâmetro são:

  • NotStarted
  • Em execução
  • Concluída |
  • Falhou
  • Parou
  • Bloqueado
  • Suspenso
  • Desconectado
  • Suspensão
  • Parar

Por padrão, Get-Job recebe todos os trabalhos na sessão atual.

Para obter mais informações sobre estados de trabalho, consulte JobState Enumeration.

Tipo:JobState
Valores aceites:NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint
Position:0
Default value:None
Necessário:True
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

Entradas

None

Não é possível canalizar objetos para este cmdlet.

Saídas

System.Management.Automation.RemotingJob

Este cmdlet retorna objetos que representam os trabalhos na sessão.

Notas

O PowerShell inclui os seguintes aliases para Get-Job:

  • Todas as plataformas:
    • gjb

A propriedade PSJobTypeName de jobs 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. O trabalho local começou usando Start-Job.
  • RemoteJob. O trabalho foi iniciado em um PSSession usando o parâmetro AsJob do cmdlet Invoke-Command.
  • PSWorkflowJob. O trabalho começou usando o AsJob parâmetro comum de fluxos de trabalho.