Get-Job

Hiermee haalt u PowerShell-achtergrondtaken op die worden uitgevoerd in de huidige sessie.

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

De Get-Job cmdlet haalt objecten op die de achtergrondtaken vertegenwoordigen die zijn gestart in de huidige sessie. U kunt Get-Job taken ophalen die zijn gestart met behulp van de Start-Job cmdlet of met behulp van de AsJob-parameter van een cmdlet.

Zonder parameters haalt een Get-Job opdracht alle taken in de huidige sessie op. U kunt de parameters gebruiken om Get-Job bepaalde taken op te halen.

Het taakobject dat Get-Job retourneert, bevat nuttige informatie over de taak, maar bevat geen taakresultaten. Gebruik de Receive-Job cmdlet om de resultaten op te halen.

Een Windows PowerShell-achtergrondtaak is een opdracht die op de achtergrond wordt uitgevoerd zonder interactie met de huidige sessie. Normaal gesproken gebruikt u een achtergrondtaak om een complexe opdracht uit te voeren die lang duurt om te voltooien. Zie about_Jobs voor meer informatie over achtergrondtaken in Windows PowerShell.

Vanaf Windows PowerShell 3.0 krijgt de Get-Job cmdlet ook aangepaste taaktypen, zoals werkstroomtaken en exemplaren van geplande taken. Als u het taaktype van een taak wilt vinden, gebruikt u de eigenschap PSJobTypeName van de taak.

Get-Job Als u een aangepast taaktype wilt ophalen, importeert u de module die het aangepaste taaktype ondersteunt in de sessie voordat u een Get-Job opdracht uitvoert, hetzij met behulp van de Import-Module cmdlet of door een cmdlet in de module op te halen. Zie de documentatie van de functie aangepaste taaktypen voor informatie over een bepaald type aangepaste taak.

Voorbeelden

Voorbeeld 1: Alle achtergrondtaken starten in de huidige sessie

Met deze opdracht worden alle achtergrondtaken gestart in de huidige sessie. Het bevat geen taken die zijn gemaakt in andere sessies, zelfs als de taken worden uitgevoerd op de lokale computer.

Get-Job

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

Voorbeeld 2: Een taak stoppen met behulp van een exemplaar-id

Deze opdrachten laten zien hoe u de exemplaar-id van een taak opgeeft en deze vervolgens gebruikt om een taak te stoppen. In tegenstelling tot de naam van een taak, die niet uniek is, is de exemplaar-id uniek.

De eerste opdracht gebruikt de Get-Job cmdlet om een taak op te halen. Hierbij wordt de parameter Name gebruikt om de taak te identificeren. Met de opdracht wordt het taakobject opgeslagen dat Get-Job in de $j variabele wordt geretourneerd. In dit voorbeeld is er slechts één taak met de opgegeven naam. Met de tweede opdracht wordt de eigenschap InstanceId van het object in de $j variabele opgehaald en opgeslagen in de $ID variabele. Met de derde opdracht wordt de waarde van de $ID variabele weergegeven. De vierde opdracht maakt gebruik van Stop-Job cmdlet om de taak te stoppen. Hierbij wordt de parameter InstanceId gebruikt om de taak en $ID variabele te identificeren die de exemplaar-id van de taak vertegenwoordigen.

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

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

Stop-Job -InstanceId $ID

Voorbeeld 3: Taken ophalen die een specifieke opdracht bevatten

Met deze opdracht worden de taken op het systeem met een Get-Process opdracht ophaalt. De opdracht gebruikt de opdrachtparameter om Get-Job de opgehaalde taken te beperken. De opdracht maakt gebruik van jokertekens (*) om taken op te halen die ergens in de opdrachttekenreeks een Get-Process opdracht bevatten.

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

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

Voorbeeld 4: Taken ophalen die een specifieke opdracht bevatten met behulp van de pijplijn

Net als bij de opdracht in het vorige voorbeeld worden met deze opdracht de taken op het systeem met een Get-Process opdracht weergegeven. De opdracht maakt gebruik van een pijplijnoperator (|) om een PSCustomObject te verzenden met de Opdracht NoteProperty naar de Get-Job cmdlet. Dit is het equivalent van de vorige opdracht.

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

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

Voorbeeld 5: Taken ophalen die niet zijn gestart

Met deze opdracht worden alleen taken weergegeven die zijn gemaakt, maar die nog niet zijn gestart. Dit omvat taken die in de toekomst moeten worden uitgevoerd en taken die nog niet zijn gepland.

Get-Job -State NotStarted

Voorbeeld 6: Taken ophalen waaraan geen naam is toegewezen

Met deze opdracht krijgt u alle taken met jobnamen die beginnen met job. Omdat job<number> dit de standaardnaam voor een taak is, worden met deze opdracht alle taken opgehaald die geen expliciet toegewezen naam hebben.

Get-Job -Name Job*

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

Voorbeeld 7: Een taakobject gebruiken om de taak in een opdracht weer te geven

In dit voorbeeld ziet u hoe Get-Job u een taakobject opgeeft en hoe u vervolgens het taakobject gebruikt om de taak in een opdracht weer te geven.

De eerste opdracht gebruikt de Start-Job cmdlet om een achtergrondtaak te starten waarmee een Get-Process opdracht op de lokale computer wordt uitgevoerd. De opdracht gebruikt de parameter Name om Start-Job een beschrijvende naam toe te wijzen aan de taak. De tweede opdracht gebruikt Get-Job om de taak op te halen. Hierbij wordt de naamparameter gebruikt om Get-Job de taak te identificeren. Met de opdracht wordt het resulterende taakobject opgeslagen in de $j variabele. Met de derde opdracht wordt de waarde van het taakobject in de $j variabele weergegeven. De waarde van de eigenschap State geeft aan dat de taak is voltooid. De waarde van de eigenschap HasMoreData laat zien dat er resultaten beschikbaar zijn van de taak die nog niet zijn opgehaald. De vierde opdracht gebruikt de Receive-Job cmdlet om de resultaten van de taak op te halen. Het gebruikt het taakobject in de $j variabele om de taak weer te geven. U kunt ook een pijplijnoperator gebruiken om een taakobject naar te Receive-Jobverzenden.

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

Voorbeeld 8: Alle taken ophalen, inclusief taken die zijn gestart met een andere methode

In dit voorbeeld ziet u dat de Get-Job cmdlet alle taken kan ophalen die in de huidige sessie zijn gestart, zelfs als ze zijn gestart met behulp van verschillende methoden.

De eerste opdracht gebruikt de Start-Job cmdlet om een taak op de lokale computer te starten. De tweede opdracht gebruikt de parameter AsJob van de Invoke-Command cmdlet om een taak op de S1-computer te starten. Hoewel de opdrachten in de taak worden uitgevoerd op de externe computer, wordt het taakobject gemaakt op de lokale computer, dus u gebruikt lokale opdrachten om de taak te beheren. De derde opdracht gebruikt de Invoke-Command cmdlet om een Start-Job opdracht uit te voeren op de S2-computer. Met deze methode wordt het taakobject gemaakt op de externe computer, zodat u externe opdrachten gebruikt om de taak te beheren. De vierde opdracht gebruikt Get-Job om de taken op te halen die zijn opgeslagen op de lokale computer. De eigenschap PSJobTypeName van taken, geïntroduceerd in Windows PowerShell 3.0, laat zien dat de lokale taak die is gestart met de Start-Job cmdlet een achtergrondtaak is en dat de taak die in een externe sessie is gestart met behulp van de Invoke-Command cmdlet een externe taak is. De vijfde, zesde en zevende opdracht gebruikt de New-PSSession cmdlet om een PSSession te maken die is verbonden met de S2-computer, het gebruikt Invoke-Command om een taak op de externe computer te starten met behulp van de PSSession en de sessieparameter . Vervolgens haalt u de taak op met behulp van de Get-Job opdracht op de S2-computer met behulp van de PSSession. In de voorbeelduitvoer ziet u de resultaten van de Get-Job opdracht. Op de S2-computer lijkt de taak een lokale taak te zijn. De computernaam is localhost en het taaktype is een achtergrondtaak. Zie about_Remote_Jobs voor meer informatie over het uitvoeren van achtergrondtaken op externe computers.

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

Voorbeeld 9: Een mislukte taak onderzoeken

Deze opdracht laat zien hoe u het taakobject gebruikt dat Get-Job terugkeert om te onderzoeken waarom een taak is mislukt. Ook ziet u hoe u de onderliggende taken van elke taak kunt ophalen.

De eerste opdracht gebruikt de Start-Job cmdlet om een taak op de lokale computer te starten. Het taakobject dat Start-Job retourneert, geeft aan dat de taak is mislukt. De waarde van de eigenschap State is Mislukt.

De tweede opdracht gebruikt de Get-Job cmdlet om de taak op te halen. De opdracht gebruikt de puntmethode om de waarde van de eigenschap JobStateInfo van het object op te halen. Er wordt een pijplijnoperator gebruikt om het object in de eigenschap JobStateInfo naar de Format-List cmdlet te verzenden, waarmee alle eigenschappen van het object (*) in een lijst worden opgemaakt. Het resultaat van de Format-List opdracht geeft aan dat de waarde van de eigenschap Reden van de taak leeg is.

De derde opdracht onderzoekt meer. Er wordt een Get-Job opdracht gebruikt om de taak op te halen en vervolgens een pijplijnoperator te gebruiken om het hele taakobject naar de Format-List cmdlet te verzenden, waarin alle eigenschappen van de taak in een lijst worden weergegeven. Op de weergave van alle eigenschappen in het taakobject ziet u dat de taak een onderliggende taak met de naam Job2 bevat.

De vierde opdracht gebruikt Get-Job om het taakobject op te halen dat de onderliggende taak Job2 vertegenwoordigt. Dit is de taak waarin de opdracht daadwerkelijk is uitgevoerd. Hierbij wordt de puntmethode gebruikt om de eigenschap Reason van de eigenschap JobStateInfo op te halen. Het resultaat geeft aan dat de taak is mislukt vanwege een fout 'Toegang geweigerd'. In dit geval is de gebruiker vergeten de optie Uitvoeren als administrator te gebruiken bij het starten van Windows PowerShell. Omdat achtergrondtaken gebruikmaken van de externe functies van Windows PowerShell, moet de computer worden geconfigureerd voor externe communicatie om een taak uit te voeren, zelfs wanneer de taak op de lokale computer wordt uitgevoerd. Zie about_Remote_Requirements voor informatie over vereisten voor externe communicatie in Windows PowerShell. Zie about_Remote_Troubleshooting voor tips voor het oplossen van problemen.

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.

Voorbeeld 10: Gefilterde resultaten ophalen

In dit voorbeeld ziet u hoe u de filterparameter gebruikt om een werkstroomtaak op te halen. De filterparameter , geïntroduceerd in Windows PowerShell 3.0, is alleen geldig voor aangepaste taaktypen, zoals werkstroomtaken en geplande taken.

De eerste opdracht maakt gebruik van het trefwoord Workflow om de WFProcess-werkstroom te maken. De tweede opdracht maakt gebruik van de AsJob-parameter van de WFProcess-werkstroom om de werkstroom uit te voeren als achtergrondtaak. De parameter JobName van de werkstroom wordt gebruikt om een naam voor de taak op te geven en de parameter PSPrivateMetadata van de werkstroom om een aangepaste id op te geven. De derde opdracht maakt gebruik van de filterparameter om de taak op te halen op basis van Get-Job een aangepaste id die is opgegeven in de parameter 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

Voorbeeld 11: Informatie over onderliggende taken ophalen

In dit voorbeeld ziet u het effect van het gebruik van de parameters IncludeChildJob en ChildJobState van de Get-Job cmdlet.

Met de eerste opdracht worden de taken in de huidige sessie opgeslagen. De uitvoer bevat een achtergrondtaak, een externe taak en verschillende exemplaren van een geplande taak. De externe taak, Job4, lijkt te zijn mislukt. De tweede opdracht maakt gebruik van de parameter IncludeChildJob van Get-Job. Met de uitvoer worden de onderliggende taken van alle taken met onderliggende taken toegevoegd. In dit geval toont de herziene uitvoer aan dat alleen de onderliggende taak Job5 van Job4 is mislukt. De derde opdracht maakt gebruik van de parameter ChildJobState met de waarde Failed. De uitvoer bevat alle bovenliggende taken en alleen de onderliggende taken die zijn mislukt. De vijfde opdracht maakt gebruik van de eigenschap JobStateInfo van taken en de eigenschap Reden om te ontdekken waarom Job5 is mislukt.

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.

Zie het help-onderwerp about_Remote_Troubleshooting voor meer informatie.

Parameters

-After

Hiermee worden voltooide taken geretourneerd die na de opgegeven datum en tijd zijn beëindigd. Voer een DateTime-object in, zoals een object dat wordt geretourneerd door de Get-Date cmdlet of een tekenreeks die kan worden geconverteerd naar een DateTime-object , zoals Dec 1, 2012 2:00 AM of 11/06.

Deze parameter werkt alleen voor aangepaste taaktypen, zoals werkstroomtaken en geplande taken, die een EndTime-eigenschap hebben. Het werkt niet voor standaardachtergrondtaken, zoals taken die zijn gemaakt met behulp van de Start-Job cmdlet. Zie het Help-onderwerp voor het taaktype voor informatie over ondersteuning voor deze parameter.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

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

-Before

Hiermee worden voltooide taken geretourneerd die vóór de opgegeven datum en tijd zijn beëindigd. Voer een DateTime-object in.

Deze parameter werkt alleen voor aangepaste taaktypen, zoals werkstroomtaken en geplande taken, die een EndTime-eigenschap hebben. Het werkt niet voor standaardachtergrondtaken, zoals taken die zijn gemaakt met behulp van de Start-Job cmdlet. Zie het Help-onderwerp voor het taaktype voor informatie over ondersteuning voor deze parameter.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

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

-ChildJobState

Hiermee haalt u alleen de onderliggende taken op met de opgegeven status. De aanvaardbare waarden voor deze parameter zijn:

  • NotStarted
  • Wordt uitgevoerd
  • Voltooid
  • Mislukt
  • Gestopt
  • Geblokkeerd
  • Onderbroken
  • Ontkoppeld
  • Tijdelijk blokkeren
  • Stoppen

Get-Job Standaard worden geen onderliggende taken weergegeven. Met de parameter Get-Job IncludeChildJob worden alle onderliggende taken ophaalt. Als u de parameter ChildJobState gebruikt, heeft de parameter IncludeChildJob geen effect.

Deze parameter is geïntroduceerd in 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

Hiermee geeft u een matrix van opdrachten als tekenreeksen. Met deze cmdlet worden de taken ophaalt die de opgegeven opdrachten bevatten. De standaardwaarde is alle taken. U kunt jokertekens gebruiken om een opdrachtpatroon op te geven.

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

-Filter

Hiermee geeft u een hash-tabel met voorwaarden. Met deze cmdlet worden taken ophaalt die voldoen aan alle voorwaarden. Voer een hashtabel in waarin de sleutels taakeigenschappen zijn en de waarden taakeigenschapswaarden zijn.

Deze parameter werkt alleen voor aangepaste taaktypen, zoals werkstroomtaken en geplande taken. Het werkt niet voor standaardachtergrondtaken, zoals taken die zijn gemaakt met behulp van de Start-Job cmdlet. Zie het Help-onderwerp voor het taaktype voor informatie over ondersteuning voor deze parameter.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

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

-HasMoreData

Geeft aan of deze cmdlet alleen taken krijgt met de opgegeven HasMoreData-eigenschapswaarde . De eigenschap HasMoreData geeft aan of alle taakresultaten zijn ontvangen in de huidige sessie. Als u taken met meer resultaten wilt ophalen, geeft u een waarde op van $True. Als u taken wilt ophalen die niet meer resultaten hebben, geeft u een waarde op van $False.

Gebruik de Receive-Job cmdlet om de resultaten van een taak op te halen.

Wanneer u de Receive-Job cmdlet gebruikt, worden de resultaten die de cmdlet heeft geretourneerd, verwijderd uit de in-memory, sessiespecifieke opslag. Wanneer alle resultaten van de taak in de huidige sessie zijn geretourneerd, wordt de waarde van de eigenschap HasMoreData van de taak ingesteld op $False) om aan te geven dat deze geen resultaten meer heeft voor de taak in de huidige sessie. Gebruik de parameter Keep om Receive-Job te voorkomen dat Receive-Job resultaten worden verwijderd en de waarde van de eigenschap HasMoreData wordt gewijzigd. Typ voor meer informatie Get-Help Receive-Job.

De eigenschap HasMoreData is specifiek voor de huidige sessie. Als resultaten voor een aangepast taaktype buiten de sessie worden opgeslagen, zoals het geplande taaktype, waarmee taakresultaten op schijf worden opgeslagen, kunt u de Receive-Job cmdlet in een andere sessie gebruiken om de taakresultaten opnieuw op te halen, zelfs als de waarde van HasMoreData is $False. Zie de Help-onderwerpen voor het aangepaste taaktype voor meer informatie.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

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

-Id

Hiermee geeft u een matrix van id's van taken op die door deze cmdlet worden opgehaald.

De id is een geheel getal dat de taak in de huidige sessie uniek identificeert. Het is gemakkelijker om te onthouden en te typen dan de exemplaar-id, maar het is alleen uniek in de huidige sessie. U kunt een of meer id's typen, gescheiden door komma's. Als u de id van een taak wilt zoeken, typt u Get-Job zonder parameters.

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

-IncludeChildJob

Geeft aan dat deze cmdlet onderliggende taken retourneert, naast bovenliggende taken.

Deze parameter is vooral handig voor het onderzoeken van werkstroomtaken, waarvoor Get-Job een bovenliggende containertaak en taakfouten worden geretourneerd, omdat de reden voor de fout wordt opgeslagen in een eigenschap van de onderliggende taak.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

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

-InstanceId

Hiermee geeft u een matrix op van exemplaar-id's van taken die door deze cmdlet worden opgehaald. De standaardwaarde is alle taken.

Een exemplaar-id is een GUID waarmee de taak op de computer uniek wordt geïdentificeerd. Als u de exemplaar-id van een taak wilt vinden, gebruikt u Get-Job.

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

-Name

Hiermee geeft u een matrix op van instantievriendelijke namen van taken die door deze cmdlet worden ophaalt. Voer een taaknaam in of gebruik jokertekens om een taaknaampatroon in te voeren. Get-Job Hiermee worden standaard alle taken in de huidige sessie opgeslagen.

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

-Newest

Hiermee geeft u een aantal taken te verkrijgen. Deze cmdlet haalt de taken op die het laatst zijn beëindigd.

De parameter Nieuwste sorteert of retourneert de nieuwste taken niet in de eindtijdvolgorde. Gebruik de Sort-Object cmdlet om de uitvoer te sorteren.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

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

-State

Hiermee geeft u een taakstatus. Met deze cmdlet worden alleen taken met de opgegeven status opgeslagen. De aanvaardbare waarden voor deze parameter zijn:

  • NotStarted
  • Wordt uitgevoerd
  • Voltooid
  • Mislukt
  • Gestopt
  • Geblokkeerd
  • Onderbroken
  • Ontkoppeld
  • Tijdelijk blokkeren
  • Stoppen

Get-Job Hiermee worden standaard alle taken in de huidige sessie opgeslagen.

Zie De opsomming JobState voor meer informatie over taakstatussen.

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

Invoerwaarden

None

U kunt geen objecten doorsluisen naar deze cmdlet.

Uitvoerwaarden

System.Management.Automation.RemotingJob

Met deze cmdlet worden objecten geretourneerd die de taken in de sessie vertegenwoordigen.

Notities

PowerShell bevat de volgende aliassen voor Get-Job:

  • Alle platforms:
    • gjb

De eigenschap PSJobTypeName van taken geeft het taaktype van de taak aan. De eigenschapswaarde wordt bepaald door de auteur van het taaktype. De volgende lijst bevat algemene taaktypen.

  • BackgroundJob. Lokale taak is gestart met behulp van Start-Job.
  • RemoteJob. De taak is gestart in een PSSession met behulp van de AsJob-parameter van de Invoke-Command cmdlet.
  • PSWorkflowJob. De taak is gestart met behulp van de algemene asjob-parameter van werkstromen.