Compartir a través de


Get-Job

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

Sintaxis

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 cmdlet Get-Job 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 cmdlet Start-Job o mediante el parámetro AsJob de cualquier cmdlet.

Sin parámetros, un comando Get-Job 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 cmdlet Receive-Job.

Un trabajo en segundo plano de 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 obtener más información sobre los trabajos en segundo plano en Windows PowerShell, vea about_Jobs.

A partir de Windows PowerShell 3.0, el cmdlet Get-Job 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 comando Get-Job, ya sea mediante el cmdlet Import-Module o mediante o obteniendo un cmdlet en el módulo. Para obtener información sobre un tipo de trabajo personalizado determinado, consulte la documentación de la característica de tipo de trabajo personalizado.

Ejemplos

Ejemplo 1: Introducción a todos los trabajos en segundo plano en la sesión actual

Este comando obtiene todos los trabajos en segundo plano iniciados en la sesión actual. No incluye trabajos creados en otras sesiones, incluso si los trabajos se ejecutan 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, a continuación, 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 cmdlet Get-Job 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 variable $j. En este ejemplo, solo hay un trabajo con el nombre especificado. El segundo comando obtiene la propiedad InstanceId del objeto en la variable $j y la almacena en la variable $ID. El tercer comando muestra el valor de la variable $ID. El cuarto comando usa Stop-Job cmdlet para detener el trabajo. Usa el parámetro InstanceId para identificar el trabajo y $ID 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 del sistema que incluyen un comando Get-Process. 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 incluyan un comando Get-Process en cualquier lugar 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 del sistema que incluyen un comando Get-Process. El comando usa un operador de canalización (|) para enviar un PSCustomObject con noteProperty Command, al cmdlet Get-Job. 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 obtiene solo los trabajos que se han creado pero que aún no se han iniciado. Esto incluye los trabajos que están programados para ejecutarse en el futuro y los que aún no están programados.

Get-Job -State NotStarted

Ejemplo 6: Obtener trabajos que no se han asignado 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 cmdlet Start-Job para iniciar un trabajo en segundo plano que ejecuta un comando Get-Process 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 variable $j. El tercer comando muestra el valor del objeto de trabajo en la variable $j. El valor de la propiedad State de muestra que se ha completado el trabajo. El valor de la propiedad HasMoreData muestra que hay resultados disponibles del trabajo que aún no se han recuperado. El cuarto comando usa el cmdlet Receive-Job para obtener los resultados del trabajo. Usa el objeto de trabajo en la variable $j 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 cmdlet Get-Job 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 cmdlet Start-Job para iniciar un trabajo en el equipo local. El segundo comando usa el parámetro AsJob del cmdlet Invoke-Command 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 se usan comandos locales para administrar el trabajo. El tercer comando usa el cmdlet Invoke-Command para ejecutar un comando Start-Job 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. El PSJobTypeName propiedad de trabajos, introducido en Windows PowerShell 3.0, muestra que el trabajo local iniciado mediante el cmdlet Start-Job es un trabajo en segundo plano y el trabajo iniciado en una sesión remota mediante el cmdlet Invoke-Command es un trabajo remoto. El quinto, sexto y séptimo comando usa el cmdlet New-PSSession para crear una PSSession conectada al equipo S2, usa Invoke-Command para iniciar un trabajo en el equipo remoto mediante el parámetro PSSession y Session. A continuación, obtiene el trabajo mediante el comando Get-Job en el equipo S2 mediante PSSession. La salida de ejemplo muestra los resultados del comando Get-Job. En el equipo S2, el trabajo parece ser 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 cmdlet Start-Job 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 cmdlet Get-Job para obtener el trabajo. El comando usa el método dot para obtener el valor de la propiedad JobStateInfo del objeto . Usa un operador de canalización para enviar el objeto en la propiedad JobStateInfo al cmdlet Format-List, que da formato a todas las propiedades del objeto (*) en una lista. El resultado del comando Format-List muestra que el valor del reason propiedad del trabajo está en blanco.

El tercer comando investiga más. Usa un comando Get-Job para obtener el trabajo y, a continuación, usa un operador de canalización para enviar todo el objeto de trabajo al cmdlet Format-List, 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 se ejecutó realmente el comando. 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 obtener sugerencias de solución 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.

Ejemplo 10: Obtención de resultados filtrados

En este ejemplo se muestra cómo usar el parámetro Filter para obtener un trabajo de flujo de trabajo. El parámetro Filter, introducido en Windows PowerShell 3.0 solo es válido en tipos de trabajo personalizados, como trabajos de flujo de trabajo y trabajos programados.

El primer comando usa la palabra clave flujo de trabajo de 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 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 especificado 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 cmdlet Get-Job.

El primer comando obtiene los trabajos de la sesión actual. La salida incluye un trabajo en segundo plano, un trabajo remoto y varias instancias de un trabajo programado. Parece que se ha producido un error en el trabajo remoto, Job4. 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 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 cmdlet Get-Date 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 trabajos de flujo de trabajo y trabajos programados, que tienen una propiedad EndTime. No funciona en trabajos en segundo plano estándar, como los creados mediante el cmdlet Start-Job. Para obtener información sobre la compatibilidad con este parámetro, consulte el tema de ayuda para el tipo de trabajo.

Este parámetro se introdujo en Windows PowerShell 3.0.

Tipo:DateTime
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín: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 trabajos de flujo de trabajo y trabajos programados, que tienen una propiedad EndTime. No funciona en trabajos en segundo plano estándar, como los creados mediante el cmdlet Start-Job. Para obtener información sobre la compatibilidad con este parámetro, consulte el tema de ayuda para el tipo de trabajo.

Este parámetro se introdujo en Windows PowerShell 3.0.

Tipo:DateTime
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ChildJobState

Obtiene solo los trabajos secundarios que tienen el estado especificado. Los valores aceptables para este parámetro son:

  • NotStarted
  • Corriente
  • Completado
  • Fracasado
  • Detenido
  • Bloqueado
  • Suspendido
  • Desconectado
  • Suspender
  • Parar

De forma predeterminada, Get-Job no obtiene trabajos secundarios. Con 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 introdujo en Windows PowerShell 3.0.

Tipo:JobState
Valores aceptados:NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Command

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

Tipo:String[]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:True

-Filter

Especifica una tabla hash de condiciones. Este cmdlet obtiene trabajos que cumplen todas las condiciones. Escriba una tabla hash donde las claves son propiedades de trabajo y los valores son valores de propiedad de trabajo.

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 cmdlet Start-Job. Para obtener información sobre la compatibilidad con este parámetro, consulte el tema de ayuda para el tipo de trabajo.

Este parámetro se introdujo en Windows PowerShell 3.0.

Tipo:Hashtable
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-HasMoreData

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

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

Cuando se usa el cmdlet Receive-Job, se elimina del almacenamiento específico de la sesión en memoria 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 en $False) para indicar que no tiene más resultados para el trabajo en la sesión actual. Use el parámetro Keep de Receive-Job para evitar que Receive-Job elimine los resultados y cambie 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 cmdlet Receive-Job en otra sesión para obtener los resultados del trabajo de nuevo, incluso si el valor de HasMoreData es $False. Para obtener más información, consulte los temas de ayuda para el tipo de trabajo personalizado.

Este parámetro se introdujo en Windows PowerShell 3.0.

Tipo:Boolean
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín: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.

Tipo:Int32[]
Posición:0
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín: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 Get-Job devuelve un trabajo primario de contenedor y errores de trabajo, porque el motivo del error se guarda en una propiedad del trabajo secundario.

Este parámetro se introdujo en Windows PowerShell 3.0.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-InstanceId

Especifica una matriz de identificadores de instancia de trabajos que obtiene este cmdlet. El valor predeterminado es todos los trabajos.

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

Tipo:Guid[]
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Name

Especifica una matriz de nombres descriptivos de instancia 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.

Tipo:String[]
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín: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 finalización. Para ordenar la salida, use el cmdlet Sort-Object.

Este parámetro se introdujo en Windows PowerShell 3.0.

Tipo:Int32
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-State

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

  • NotStarted
  • Corriente
  • Completado
  • Fracasado
  • Detenido
  • Bloqueado
  • Suspendido
  • Desconectado
  • Suspender
  • Parar

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, consulte enumeración JobState .

Tipo:JobState
Valores aceptados:NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín: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 indica el tipo de trabajo del trabajo. El valor de la propiedad viene determinado por el autor del tipo de trabajo. En la lista siguiente se muestran los tipos de trabajo comunes.

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