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 $False
en ) 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.