Delen via


Get-Job

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

Syntaxis

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 gebruiken om taken op te halen die zijn gestart met behulp van de cmdlet Start-Job of met behulp van de parameter AsJob van een cmdlet.

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

Het taakobject dat Get-Job retourneert, bevat nuttige informatie over de taak, maar bevat geen taakresultaten. Gebruik de cmdlet Receive-Job 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_Jobsvoor 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.

Als u Get-Job wilt inschakelen om een aangepast taaktype op te halen, 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 maakt gebruik van 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 retourneert in de $j variabele. 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 variabele $ID weergegeven. De vierde opdracht gebruikt Stop-Job cmdlet om de taak te stoppen. Hierbij wordt de parameter InstanceId gebruikt om de taak en $ID variabele te identificeren om de exemplaar-id van de taak weer te geven.

$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. De opdracht gebruikt de command parameter van Get-Job om de opgehaalde taken te beperken. De opdracht maakt gebruik van jokertekens (*) om taken op te halen die een Get-Process opdracht overal in de opdrachtreeks 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 Commandvan NoteProperty, naar de cmdlet Get-Job. 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> 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 u Get-Job gebruikt om een taakobject op te halen. Vervolgens ziet u hoe u het taakobject gebruikt om de taak in een opdracht weer te geven.

De eerste opdracht maakt gebruik van de Start-Job cmdlet om een achtergrondtaak te starten waarop een Get-Process opdracht op de lokale computer wordt uitgevoerd. De opdracht gebruikt de parameter Name van Start-Job om een beschrijvende naam toe te wijzen aan de taak. De tweede opdracht gebruikt Get-Job om de taak op te halen. Hierbij wordt de parameter Name van Get-Job gebruikt om 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 Receive-Jobte verzenden.

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 maakt gebruik van 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 maakt gebruik van Get-Job om de taken op te halen die zijn opgeslagen op de lokale computer. De PSJobTypeName eigenschap van taken, geïntroduceerd in Windows PowerShell 3.0, laat zien dat de lokale taak die is gestart met behulp van de Start-Job cmdlet een achtergrondtaak is en de taak die is gestart in een externe sessie met behulp van de Invoke-Command cmdlet is een externe taak. De vijfde, zesde en zevende opdracht maakt gebruik van de New-PSSession cmdlet om een PSSession te maken die is verbonden met de S2-computer. Hierbij wordt Invoke-Command gebruikt om een taak op de externe computer te starten met behulp van de PSSession en de parameter Session. Vervolgens wordt de taak 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 opdracht Get-Job. 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_Jobsvoor 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 retourneert 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, laat zien dat de taak is mislukt. De waarde van de eigenschap State is Mislukt.

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

De derde opdracht onderzoekt meer. Er wordt een Get-Job-opdracht gebruikt om de taak op te halen en gebruikt vervolgens een pijplijnoperator 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.

In de vierde opdracht wordt Get-Job gebruikt om het taakobject op te halen dat de onderliggende taak job 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_Requirementsvoor informatie over vereisten voor externe communicatie in Windows PowerShell. Zie about_Remote_Troubleshootingvoor 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 parameter Filter gebruikt om een werkstroomtaak op te halen. De parameter Filter, 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 parameter AsJob van de WFProcess-werkstroom om de werkstroom uit te voeren als achtergrondtaak. Hierbij wordt de parameter JobName van de werkstroom 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 gebruikt de parameter Filter van Get-Job om de taak op te halen op basis van 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 parameters 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 IncludeChildJob parameter 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 bijbehorende eigenschap Reason 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, met een eigenschap EndTime. Het werkt niet voor standaardachtergrondtaken, zoals taken die zijn gemaakt met behulp van de cmdlet Start-Job. 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
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren: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, met een eigenschap EndTime. Het werkt niet voor standaardachtergrondtaken, zoals taken die zijn gemaakt met behulp van de cmdlet Start-Job. 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
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-ChildJobState

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

  • Niet gestart
  • Lopend
  • Volbracht
  • Mislukt
  • Gestopt
  • Geblokkeerd
  • Latent
  • Verbroken
  • Opschorting
  • Stoppen

Standaard krijgt Get-Job geen kindertaken. Met behulp van de parameter IncludeChildJob worden alle onderliggende taken Get-Job. Als u de parameter ChildJobState gebruikt, heeft de parameter IncludeChildJob geen effect.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:JobState
Geaccepteerde waarden:NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren: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
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren: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 cmdlet Start-Job. 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
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren: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 van $Trueop. Als u taken wilt ophalen die niet meer resultaten hebben, geeft u een waarde van $Falseop.

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

Wanneer u de cmdlet Receive-Job gebruikt, worden de resultaten die zijn geretourneerd uit de in-memory, sessiespecifieke opslag verwijderd. 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 van Receive-Job om te voorkomen dat Receive-Job resultaten verwijdert en de waarde van de eigenschap HasMoreData wijzigt. Typ Get-Help Receive-Jobvoor meer informatie.

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
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren: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 vinden, typt u Get-Job zonder parameters.

Type:Int32[]
Position:0
Default value:None
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren: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 retourneert en taakfouten, 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
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren: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. Gebruik Get-Jobom de exemplaar-id van een taak te vinden.

Type:Guid[]
Position:0
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren: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. Standaard worden Get-Job alle taken in de huidige sessie ophaalt.

Type:String[]
Position:0
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren: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. Als u de uitvoer wilt sorteren, gebruikt u de cmdlet Sort-Object.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:Int32
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-State

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

  • Niet gestart
  • Lopend
  • Volbracht
  • Mislukt
  • Gestopt
  • Geblokkeerd
  • Latent
  • Verbroken
  • Opschorting
  • Stoppen

Standaard worden Get-Job alle taken in de huidige sessie ophaalt.

Zie Opsomming JobStatevoor meer informatie over taakstatussen.

Type:JobState
Geaccepteerde waarden:NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint
Position:0
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren: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 parameter AsJob van de Invoke-Command-cmdlet.
  • PSWorkflowJob. Taak is gestart met behulp van de AsJob algemene parameter van werkstromen.