Compartir a través de


Get-Job

Obtiene los trabajos en segundo plano de PowerShell que se ejecutan en la sesión actual.

Syntax

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

El Get-Job cmdlet obtiene objetos que representan los trabajos en segundo plano que se iniciaron en la sesión actual. Puede usar Get-Job para obtener trabajos que se iniciaron mediante el Start-Job cmdlet o mediante el parámetro AsJob de cualquier cmdlet.

Sin parámetros, un Get-Job comando obtiene todos los trabajos de la sesión actual. Puede usar los parámetros de Get-Job para obtener trabajos concretos.

El objeto de trabajo que Get-Job devuelve contiene información útil sobre el trabajo, pero no contiene los resultados del trabajo. Para obtener los resultados, use el Receive-Job cmdlet .

Un trabajo en segundo plano Windows PowerShell es un comando que se ejecuta en segundo plano sin interactuar con la sesión actual. Normalmente, se usa un trabajo en segundo plano para ejecutar un comando complejo que tarda mucho tiempo en finalizar. Para más información sobre los trabajos en segundo plano en Windows PowerShell, vea about_Jobs.

A partir de Windows PowerShell 3.0, el Get-Job cmdlet también obtiene tipos de trabajo personalizados, como trabajos de flujo de trabajo e instancias de trabajos programados. Para buscar el tipo de trabajo de un trabajo, use la propiedad PSJobTypeName del trabajo.

Para habilitar Get-Job para obtener un tipo de trabajo personalizado, importe el módulo que admite el tipo de trabajo personalizado en la sesión antes de ejecutar un Get-Job comando, ya sea mediante el Import-Module cmdlet o mediante o la obtención de un cmdlet en el módulo. Para información sobre un tipo determinado de trabajo personalizado, vea la documentación de la característica del tipo de trabajo personalizado.

Ejemplos

Ejemplo 1: Obtener todos los trabajos en segundo plano iniciados en la sesión actual

Este comando obtiene todos los trabajos en segundo plano iniciados en la sesión actual. No incluye los trabajos creados en otras sesiones, incluso aunque los trabajos se ejecuten en el equipo local.

Get-Job

Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
1      Job1            BackgroundJob   Completed     True            localhost             $env:COMPUTERNAME

Ejemplo 2: Detener un trabajo mediante un identificador de instancia

Estos comandos muestran cómo obtener el identificador de instancia de un trabajo y, luego, usarlo para detener un trabajo. A diferencia del nombre de un trabajo, que no es único, el identificador de instancia es único.

El primer comando usa el Get-Job cmdlet para obtener un trabajo. Usa el parámetro Name para identificar el trabajo. El comando almacena el objeto de trabajo que Get-Job devuelve en la $j variable . En este ejemplo, solo hay un trabajo con el nombre especificado. El segundo comando obtiene la propiedad InstanceId del objeto en la $j variable y la almacena en la $ID variable . El tercer comando muestra el valor de la $ID variable. El cuarto comando usa Stop-Job el cmdlet para detener el trabajo. Usa el parámetro InstanceId para identificar el trabajo y $ID la variable para representar el identificador de instancia del trabajo.

$j = Get-Job -Name Job1
$ID = $j.InstanceID
$ID

Guid
----
03c3232e-1d23-453b-a6f4-ed73c9e29d55

Stop-Job -InstanceId $ID

Ejemplo 3: Obtener trabajos que incluyen un comando específico

Este comando obtiene los trabajos en el sistema que incluyen un Get-Process comando . El comando usa el parámetro Command de Get-Job para limitar los trabajos recuperados. El comando usa caracteres comodín (*) para obtener trabajos que incluyen un Get-Process comando en cualquier parte de la cadena de comandos.

Get-Job -Command "*Get-Process*"

Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
3      Job3            BackgroundJob   Running       True            localhost            Get-Process

Ejemplo 4: Obtención de trabajos que incluyen un comando específico mediante la canalización

Al igual que el comando del ejemplo anterior, este comando obtiene los trabajos en el sistema que incluyen un Get-Process comando. El comando usa un operador de canalización (|) para enviar un PSCustomObject con el comando NoteProperty, al Get-Job cmdlet . Es el equivalente del comando anterior.

[pscustomobject]@{Command='*Get-Process*'} | Get-Job

Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
3      Job3            BackgroundJob   Running       True            localhost            Get-Process

Ejemplo 5: Obtener trabajos que no se han iniciado

Este comando solo obtiene los trabajos creados, pero aún no iniciados. Esto incluye los trabajos que están programados para ejecutarse en el futuro y los que todavía no se han programado.

Get-Job -State NotStarted

Ejemplo 6: Obtener trabajos que no se han asignado a un nombre

Este comando obtiene todos los trabajos que tienen nombres de trabajo que comienzan por el trabajo. Dado que job<number> es el nombre predeterminado de un trabajo, este comando obtiene todos los trabajos que no tienen un nombre asignado explícitamente.

Get-Job -Name Job*

Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
1      Job1            BackgroundJob   Completed     True            localhost             $env:COMPUTERNAME

Ejemplo 7: Usar un objeto de trabajo para representar el trabajo en un comando

En este ejemplo se muestra cómo usar Get-Job para obtener un objeto de trabajo y, a continuación, se muestra cómo usar el objeto de trabajo para representar el trabajo en un comando.

El primer comando usa el Start-Job cmdlet para iniciar un trabajo en segundo plano que ejecuta un Get-Process comando en el equipo local. El comando usa el parámetro Name de Start-Job para asignar un nombre descriptivo al trabajo. El segundo comando usa Get-Job para obtener el trabajo. Usa el parámetro Name de Get-Job para identificar el trabajo. El comando guarda el objeto de trabajo resultante en la $j variable . El tercer comando muestra el valor del objeto de trabajo en la $j variable . El valor de la propiedad State muestra que el trabajo se ha completado. El valor de la propiedad HasMoreData muestra que hay resultados disponibles del trabajo que no se han recuperado. El cuarto comando usa el Receive-Job cmdlet para obtener los resultados del trabajo. Usa el objeto job de la $j variable para representar el trabajo. También puede usar un operador de canalización para enviar un objeto de trabajo 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
...

Ejemplo 8: Obtener todos los trabajos, incluidos los trabajos iniciados por un método diferente

En este ejemplo se muestra que el Get-Job cmdlet puede obtener todos los trabajos que se iniciaron en la sesión actual, incluso si se iniciaron mediante métodos diferentes.

El primer comando usa el Start-Job cmdlet para iniciar un trabajo en el equipo local. El segundo comando usa el parámetro AsJob del Invoke-Command cmdlet para iniciar un trabajo en el equipo S1. Aunque los comandos del trabajo se ejecutan en el equipo remoto, el objeto de trabajo se crea en el equipo local, por lo que usa comandos locales para administrar el trabajo. El tercer comando usa el Invoke-Command cmdlet para ejecutar un Start-Job comando en el equipo S2. Mediante este método, el objeto de trabajo se crea en el equipo remoto, por lo que se usan comandos remotos para administrar el trabajo. El cuarto comando usa Get-Job para obtener los trabajos almacenados en el equipo local. La propiedad PSJobTypeName de trabajos, introducida en Windows PowerShell 3.0, muestra que el trabajo local iniciado mediante el Start-Job cmdlet es un trabajo en segundo plano y el trabajo iniciado en una sesión remota mediante el Invoke-Command cmdlet es un trabajo remoto. El quinto, sexto y séptimo comando usa el New-PSSession cmdlet para crear una PSSession conectada al equipo S2, que usa Invoke-Command para iniciar un trabajo en el equipo remoto mediante psSession y el parámetro Session . A continuación, obtiene el trabajo mediante el Get-Job comando en el equipo S2 mediante PSSession. La salida de ejemplo muestra los resultados del Get-Job comando. En el equipo S2, el trabajo parece un trabajo local. El nombre del equipo es localhost y el tipo de trabajo es un trabajo en segundo plano. Para obtener más información sobre cómo ejecutar trabajos en segundo plano en equipos 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

Ejemplo 9: Investigar un trabajo con errores

Este comando muestra cómo usar el objeto de trabajo que Get-Job devuelve para investigar por qué se produjo un error en un trabajo. También muestra cómo obtener los trabajos secundarios de cada trabajo.

El primer comando usa el Start-Job cmdlet para iniciar un trabajo en el equipo local. El objeto de trabajo que Start-Job devuelve muestra que se produjo un error en el trabajo. El valor de la propiedad State es Failed.

El segundo comando usa el Get-Job cmdlet para obtener el trabajo. El comando usa el método de punto para obtener el valor de la propiedad JobStateInfo del objeto. Usa un operador de canalización para enviar el objeto de la propiedad JobStateInfo al Format-List cmdlet , que da formato a todas las propiedades del objeto (*) de una lista. El resultado del Format-List comando muestra que el valor de la propiedad Reason del trabajo está en blanco.

El tercer comando investiga más. Usa un Get-Job comando para obtener el trabajo y, a continuación, usa un operador de canalización para enviar todo el objeto de trabajo al Format-List cmdlet , que muestra todas las propiedades del trabajo en una lista. La presentación de todas las propiedades del objeto de trabajo muestra que el trabajo contiene un trabajo secundario denominado Job2.

El cuarto comando usa Get-Job para obtener el objeto de trabajo que representa el trabajo secundario Job2. Este es el trabajo en el que el comando se ejecutó realmente. Usa el método dot para obtener la propiedad Reason de la propiedad JobStateInfo . El resultado muestra que se produjo un error en el trabajo debido a un error de acceso denegado. En este caso, el usuario olvidó usar la opción Ejecutar como administrador al iniciar Windows PowerShell. Dado que los trabajos en segundo plano usan las características de comunicación remota de Windows PowerShell, el equipo debe configurarse para que la comunicación remota ejecute un trabajo, incluso cuando el trabajo se ejecuta en el equipo local. Para obtener información sobre los requisitos para la comunicación remota en Windows PowerShell, consulte about_Remote_Requirements. Para sugerencias para resolver problemas, vea la página 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.

Ejemplo 10: Obtener resultados filtrados

Este ejemplo muestra cómo usar el parámetro Filter para obtener una tarea del flujo de trabajo. El parámetro Filter, que se introdujo en Windows PowerShell 3.0 solo es válido en los tipos de trabajo personalizados, como tareas del flujo de trabajo y trabajos programados.

El primer comando usa la palabra clave Workflow para crear el flujo de trabajo wfprocess. El segundo comando usa el parámetro AsJob del flujo de trabajo WFProcess para ejecutar el flujo de trabajo como un trabajo en segundo plano. Usa el parámetro JobName del flujo de trabajo para especificar un nombre para el trabajo y el parámetro PSPrivateMetadata del flujo de trabajo para especificar un identificador personalizado. El tercer comando usa el parámetro Filter de Get-Job para obtener el trabajo por identificador personalizado que se especificó en el 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

Ejemplo 11: Obtener información sobre los trabajos secundarios

En este ejemplo se muestra el efecto de usar los parámetros IncludeChildJob y ChildJobState del Get-Job cmdlet .

El primer comando obtiene los trabajos en la sesión actual. El resultado incluye un trabajo en segundo plano, un trabajo remoto y varias instancias de un trabajo programado. El trabajo remoto, Job4, parece que da un error. El segundo comando usa el parámetro IncludeChildJob de Get-Job. La salida agrega los trabajos secundarios de todos los trabajos que tienen trabajos secundarios. En este caso, la salida revisada muestra que solo se produjo un error en el trabajo secundario Job5 de Job4. El tercer comando usa el parámetro ChildJobState con un valor de Failed.La salida incluye todos los trabajos primarios y solo los trabajos secundarios con errores. El quinto comando usa la propiedad JobStateInfo de trabajos y su propiedad Reason para detectar por qué se produjo un error en Job5.

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 obtener más información, consulte el tema de ayuda de about_Remote_Troubleshooting .

Parámetros

-After

Obtiene los trabajos completados que finalizaron después de la fecha y hora especificadas. Escriba un objeto DateTime , como uno devuelto por el Get-Date cmdlet o una cadena que se pueda convertir en un objeto DateTime , como Dec 1, 2012 2:00 AM o 11/06.

Este parámetro solo funciona en tipos de trabajo personalizados, como tareas de flujo de trabajo que tengan una propiedad EndTime. No funciona en trabajos en segundo plano estándar, como los creados mediante el Start-Job cmdlet . Para información sobre la compatibilidad para este parámetro, vea el tema de ayuda para el tipo de trabajo.

Este parámetro se incorporó en Windows PowerShell 3.0.

Type:DateTime
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Before

Obtiene los trabajos completados que finalizaron antes de la fecha y hora especificadas. Escriba un objeto DateTime .

Este parámetro solo funciona en tipos de trabajo personalizados, como tareas de flujo de trabajo que tengan una propiedad EndTime. No funciona en trabajos en segundo plano estándar, como los creados mediante el Start-Job cmdlet . Para información sobre la compatibilidad para este parámetro, vea el tema de ayuda para el tipo de trabajo.

Este parámetro se incorporó en Windows PowerShell 3.0.

Type:DateTime
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ChildJobState

Obtiene solo los trabajos secundarios que tengan el estado especificado. Los valores permitidos para este parámetro son los siguientes:

  • NotStarted
  • En ejecución
  • Completed
  • Con error
  • Detenido
  • Bloqueado
  • Suspended
  • Escenario desconectado
  • Suspendiendo
  • Deteniéndose

De forma predeterminada, Get-Job no obtiene trabajos secundarios. Mediante el parámetro IncludeChildJob , Get-Job obtiene todos los trabajos secundarios. Si usa el parámetro ChildJobState, el parámetro IncludeChildJob no tiene ningún efecto.

Este parámetro se incorporó en Windows PowerShell 3.0.

Type:JobState
Accepted values:NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Command

Especifica una matriz de comandos como cadenas. Este cmdlet obtiene los trabajos que incluyen los comandos especificados. El valor predeterminado es todas las tareas. Puede usar caracteres comodín para especificar un patrón de comando.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-Filter

Especifica una tabla hash de condiciones. Este cmdlet obtiene trabajos que satisfacen todas las condiciones. Especifique una tabla hash donde las claves sean propiedades de una tarea y los valores sean valores de propiedad de la tarea.

Este parámetro solo funciona en tipos de trabajo personalizados, como trabajos de flujo de trabajo y trabajos programados. No funciona en trabajos en segundo plano estándar, como los creados mediante el Start-Job cmdlet . Para información sobre la compatibilidad para este parámetro, vea el tema de ayuda para el tipo de trabajo.

Este parámetro se incorporó en Windows PowerShell 3.0.

Type:Hashtable
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-HasMoreData

Indica si este cmdlet solo obtiene trabajos que tienen el valor de propiedad HasMoreData especificado. La propiedad HasMoreData indica si se han recibido todos los resultados de trabajo en la sesión actual. Para obtener trabajos que tengan más resultados, especifique un valor de $True. Para obtener trabajos que no tienen más resultados, especifique un valor de $False.

Para obtener los resultados de un trabajo, use el Receive-Job cmdlet .

Cuando se usa el Receive-Job cmdlet , se elimina del almacenamiento en memoria específico de la sesión los resultados que devolvió. Cuando ha devuelto todos los resultados del trabajo en la sesión actual, establece el valor de la propiedad HasMoreData del trabajo $Falseen ) para indicar que no tiene más resultados para el trabajo en la sesión actual. Utilice el parámetro Keep de Receive-Job para evitar Receive-Job eliminar los resultados y cambiar el valor de la propiedad HasMoreData . Para obtener más información, escriba Get-Help Receive-Job.

La propiedad HasMoreData es específica de la sesión actual. Si los resultados de un tipo de trabajo personalizado se guardan fuera de la sesión, como el tipo de trabajo programado, que guarda los resultados del trabajo en el disco, puede usar el Receive-Job cmdlet en una sesión diferente para obtener los resultados del trabajo de nuevo, incluso si el valor de HasMoreData es $False. Para más información, vea los temas de ayuda para el tipo de trabajo personalizado.

Este parámetro se incorporó en Windows PowerShell 3.0.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Id

Especifica una matriz de identificadores de trabajos que obtiene este cmdlet.

El identificador es un entero que identifica de forma única el trabajo en la sesión actual. Es más fácil recordar y escribir que el identificador de instancia, pero solo es único en la sesión actual. Puede escribir uno o varios identificadores separados por comas. Para buscar el identificador de un trabajo, escriba Get-Job sin parámetros.

Type:Int32[]
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-IncludeChildJob

Indica que este cmdlet devuelve trabajos secundarios, además de los trabajos primarios.

Este parámetro es especialmente útil para investigar trabajos de flujo de trabajo, para los que devuelve un trabajo primario del contenedor y errores de trabajo, ya que Get-Job el motivo del error se guarda en una propiedad del trabajo secundario.

Este parámetro se incorporó en Windows PowerShell 3.0.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InstanceId

Especifica una matriz de identificadores de instancia de trabajos que obtiene este cmdlet. El valor predeterminado es todas las tareas.

Un identificador de instancia es un GUID que identifica de forma única la tarea en el equipo. Para buscar el identificador de instancia de un trabajo, use Get-Job.

Type:Guid[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

Especifica una matriz de nombres descriptivos de instancias de trabajos que obtiene este cmdlet. Escriba un nombre de trabajo o use caracteres comodín para especificar un patrón de nombre de trabajo. De forma predeterminada, Get-Job obtiene todos los trabajos de la sesión actual.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-Newest

Especifica una serie de trabajos que se van a obtener. Este cmdlet obtiene los trabajos que finalizaron más recientemente.

El parámetro Newest no ordena ni devuelve los trabajos más recientes en orden de hora de finalización. Para ordenar la salida, use el Sort-Object cmdlet .

Este parámetro se incorporó en Windows PowerShell 3.0.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-State

Especifica un estado de trabajo. Este cmdlet solo obtiene trabajos en el estado especificado. Los valores permitidos para este parámetro son los siguientes:

  • NotStarted
  • En ejecución
  • Completed
  • Con error
  • Detenido
  • Bloqueado
  • Suspended
  • Escenario desconectado
  • Suspendiendo
  • Deteniéndose

De forma predeterminada, Get-Job obtiene todos los trabajos de la sesión actual.

Para obtener más información sobre los estados de trabajo, vea JobState (enumeración).

Type:JobState
Accepted values:NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

Entradas

None

No se pueden canalizar objetos a este cmdlet.

Salidas

System.Management.Automation.RemotingJob

Este cmdlet devuelve objetos que representan los trabajos de la sesión.

Notas

PowerShell incluye los siguientes alias para Get-Job:

  • Todas las plataformas:
    • gjb

La propiedad PSJobTypeName de trabajos indica el tipo de trabajo del trabajo. El valor de propiedad viene determinado por el autor del tipo de trabajo. La lista siguiente muestra los tipos de trabajo comunes.

  • BackgroundJob. Trabajo local iniciado mediante Start-Job.
  • RemoteJob. Trabajo iniciado en una PSSession mediante el parámetro AsJob del Invoke-Command cmdlet .
  • PSWorkflowJob. trabajo iniciado mediante el parámetro común AsJob de los flujos de trabajo.