Freigeben über


Get-Job

Ruft PowerShell-Hintergrundaufträge ab, die in der aktuellen Sitzung ausgeführt werden.

Syntax

SessionIdParameterSet (Standard)

Get-Job
    [[-Id] <Int32[]>]
    [-IncludeChildJob]
    [-ChildJobState <JobState>]
    [-HasMoreData <Boolean>]
    [-Before <DateTime>]
    [-After <DateTime>]
    [-Newest <Int32>]
    [<CommonParameters>]

StateParameterSet

Get-Job
    [-State] <JobState>
    [-IncludeChildJob]
    [-ChildJobState <JobState>]
    [-HasMoreData <Boolean>]
    [-Before <DateTime>]
    [-After <DateTime>]
    [-Newest <Int32>]
    [<CommonParameters>]

CommandParameterSet

Get-Job
    [-IncludeChildJob]
    [-ChildJobState <JobState>]
    [-HasMoreData <Boolean>]
    [-Before <DateTime>]
    [-After <DateTime>]
    [-Newest <Int32>]
    [-Command <String[]>]
    [<CommonParameters>]

InstanceIdParameterSet

Get-Job
    [-InstanceId] <Guid[]>
    [-IncludeChildJob]
    [-ChildJobState <JobState>]
    [-HasMoreData <Boolean>]
    [-Before <DateTime>]
    [-After <DateTime>]
    [-Newest <Int32>]
    [<CommonParameters>]

NameParameterSet

Get-Job
    [-Name] <String[]>
    [-IncludeChildJob]
    [-ChildJobState <JobState>]
    [-HasMoreData <Boolean>]
    [-Before <DateTime>]
    [-After <DateTime>]
    [-Newest <Int32>]
    [<CommonParameters>]

FilterParameterSet

Get-Job
    [-Filter] <Hashtable>
    [<CommonParameters>]

Beschreibung

Das Cmdlet Get-Job ruft Objekte ab, die die Hintergrundaufträge darstellen, die in der aktuellen Sitzung gestartet wurden. Sie können Get-Job verwenden, um Aufträge abzurufen, die mit dem Cmdlet Start-Job oder mit dem AsJob-Parameter eines beliebigen Cmdlets gestartet wurden.

Ohne Parameter ruft ein Get-Job-Befehl alle Aufträge in der aktuellen Sitzung ab. Sie können die Parameter von Get-Job verwenden, um bestimmte Aufträge abzurufen.

Das Auftragsobjekt, das Get-Job zurückgibt, enthält nützliche Informationen über den Auftrag, aber nicht die Auftragsergebnisse. Verwenden Sie zum Abrufen der Ergebnisse das Cmdlet Receive-Job.

Ein Windows PowerShell-Hintergrundauftrag ist ein Befehl, der im Hintergrund ausgeführt wird, ohne mit der aktuellen Sitzung zu interagieren. In der Regel verwenden Sie einen Hintergrundauftrag, um einen komplexen Befehl auszuführen, der lange dauert. Weitere Informationen zu Hintergrundaufträgen in Windows PowerShell finden Sie unter about_Jobs.

Ab Windows PowerShell 3.0 ruft das Cmdlet Get-Job auch benutzerdefinierte Auftragstypen ab, z. B. Workflowaufträge und Instanzen geplanter Aufträge. Um den Auftragstyp eines Auftrags zu finden, verwenden Sie die PSJobTypeName Eigenschaft des Auftrags.

Um Get-Job zum Abrufen eines benutzerdefinierten Auftragstyps zu aktivieren, importieren Sie das Modul, das den benutzerdefinierten Auftragstyp unterstützt, in die Sitzung, bevor Sie einen Get-Job-Befehl ausführen, entweder mithilfe des Cmdlets Import-Module oder durch Verwenden oder Abrufen eines Cmdlets im Modul. Informationen zu einem bestimmten benutzerdefinierten Auftragstyp finden Sie in der Dokumentation des Features für den benutzerdefinierten Auftragstyp.

Beispiele

Beispiel 1: Abrufen aller Hintergrundaufträge, die in der aktuellen Sitzung gestartet wurden

PS C:\> Get-Job

Dieser Befehl ruft alle Hintergrundaufträge ab, die in der aktuellen Sitzung gestartet werden. Sie enthält keine Aufträge, die in anderen Sitzungen erstellt wurden, auch wenn die Aufträge auf dem lokalen Computer ausgeführt werden.

Beispiel 2: Beenden eines Auftrags mithilfe einer Instanz-ID

The first command uses the **Get-Job** cmdlet to get a job. It uses the *Name* parameter to identify the job. The command stores the job object that **Get-Job** returns in the $j variable. In this example, there is only one job with the specified name.
PS C:\> $j = Get-Job -Name Job1

The second command gets the **InstanceId** property of the object in the $j variable and stores it in the $ID variable.
PS C:\> $ID = $j.InstanceID

The third command displays the value of the $ID variable.
PS C:\> $ID

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

The fourth command uses Stop-Job cmdlet to stop the job. It uses the *InstanceId* parameter to identify the job and $ID variable to represent the instance ID of the job.
PS C:\> Stop-Job -InstanceId $ID

Diese Befehle zeigen, wie Sie die Instanz-ID eines Auftrags abrufen und dann verwenden, um einen Auftrag zu beenden. Im Gegensatz zum Namen eines Auftrags, der nicht eindeutig ist, ist die Instanz-ID eindeutig.

Beispiel 3: Abrufen von Aufträgen, die einen bestimmten Befehl enthalten

PS C:\> Get-Job -Command "*get-process*"

Mit diesem Befehl werden die Aufträge auf dem System abgerufen, die einen Get-Process Befehl enthalten. Der Befehl verwendet den Command-Parameter von Get-Job, um die abgerufenen Aufträge einzuschränken. Der Befehl verwendet Platzhalterzeichen (*), um Aufträge abzurufen, die einen Get-Process-Befehl an einer beliebigen Stelle in der Befehlszeichenfolge enthalten.

Beispiel 4: Abrufen von Aufträgen, die einen bestimmten Befehl enthalten, mithilfe der Pipeline

PS C:\> "*get-process*" | Get-Job

Wie der Befehl im vorherigen Beispiel ruft dieser Befehl die Aufträge auf dem System ab, die einen Get-Process-Befehl enthalten. Der Befehl verwendet einen Pipelineoperator (|), um eine Zeichenfolge in Anführungszeichen an das Cmdlet Get-Job zu senden. Es entspricht dem vorherigen Befehl.

Beispiel 5: Abrufen von Aufträgen, die noch nicht gestartet wurden

PS C:\> Get-Job -State NotStarted

Dieser Befehl ruft nur die Aufträge ab, die erstellt wurden, aber noch nicht gestartet wurden. Dazu gehören Aufträge, die in Zukunft ausgeführt werden sollen und die noch nicht geplant sind.

Beispiel 6: Abrufen von Aufträgen, denen kein Name zugewiesen wurde

PS C:\> Get-Job -Name Job*

Dieser Befehl ruft alle Aufträge ab, die über Auftragsnamen verfügen, die mit dem Auftrag beginnen. Da es sich bei der Auftragsnummer<> um den Standardnamen für einen Auftrag handelt, ruft dieser Befehl alle Aufträge ab, denen kein explizit zugewiesener Name zugewiesen wurde.

Beispiel 7: Verwenden eines Auftragsobjekts zum Darstellen des Auftrags in einem Befehl

The first command uses the **Start-Job** cmdlet to start a background job that runs a **Get-Process** command on the local computer. The command uses the *Name* parameter of **Start-Job** to assign a friendly name to the job.
PS C:\> Start-Job -ScriptBlock {Get-Process} -Name MyJob

The second command uses Get-Job to get the job. It uses the *Name* parameter of **Get-Job** to identify the job. The command saves the resulting job object in the $j variable.
PS C:\> $j = Get-Job -Name MyJob

The third command displays the value of the job object in the $j variable. The value of the **State** property shows that the job is completed. The value of the **HasMoreData** property shows that there are results available from the job that have not yet been retrieved.
PS C:\> $j
Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
6      MyJob           BackgroundJob   Completed     True            localhost            Get-Process

The fourth command uses the **Receive-Job** cmdlet to get the results of the job. It uses the job object in the $j variable to represent the job. You can also use a pipeline operator to send a job object to **Receive-Job**.
PS C:\> 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
...

In diesem Beispiel wird gezeigt, wie Get-Job zum Abrufen eines Auftragsobjekts verwendet wird, und dann wird gezeigt, wie das Auftragsobjekt verwendet wird, um den Auftrag in einem Befehl darzustellen.

Beispiel 8: Abrufen aller Aufträge einschließlich Aufträgen, die mit einer anderen Methode gestartet wurden

The first command uses the **Start-Job** cmdlet to start a job on the local computer.
PS C:\> Start-Job -ScriptBlock {Get-EventLog System}

The second command uses the *AsJob* parameter of the **Invoke-Command** cmdlet to start a job on the S1 computer. Even though the commands in the job run on the remote computer, the job object is created on the local computer, so you use local commands to manage the job.
PS C:\> Invoke-Command -ComputerName S1 -ScriptBlock {Get-EventLog System} -AsJob

The third command uses the **Invoke-Command** cmdlet to run a **Start-Job** command on the S2 computer. By using this method, the job object is created on the remote computer, so you use remote commands to manage the job.
PS C:\> Invoke-Command -ComputerName S2 -ScriptBlock {Start-Job -ScriptBlock {Get-EventLog System}}

The fourth command uses **Get-Job** to get the jobs stored on the local computer. The **PSJobTypeName** property of jobs, introduced in Windows PowerShell 3.0, shows that the local job started by using the **Start-Job** cmdlet is a background job and the job started in a remote session by using the **Invoke-Command** cmdlet is a remote job.
PS C:\> 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

The fifth command uses **Invoke-Command** to run a **Get-Job** command on the S2 computer.The sample output shows the results of the Get-Job command. On the S2 computer, the job appears to be a local job. The computer name is localhost and the job type is a background job.For more information about how to run background jobs on remote computers, see about_Remote_Jobs.
PS C:\> Invoke-Command -ComputerName S2 -ScriptBlock {Start-Job -ScriptBlock {Get-EventLog System}}
Id    Name     PSJobTypeName  State      HasMoreData   Location   Command
--    ----     -------------  -----      -----------   -------    -------
4     Job4     BackgroundJob  Running    True          localhost  Get-Eventlog System

In diesem Beispiel wird veranschaulicht, dass mit dem Cmdlet "Get-Job" alle Aufträge abgerufen werden können, die in der aktuellen Sitzung gestartet wurden, auch wenn sie mit unterschiedlichen Methoden gestartet wurden.

Beispiel 9: Untersuchen eines fehlgeschlagenen Auftrags

The first command uses the **Start-Job** cmdlet to start a job on the local computer. The job object that **Start-Job** returns shows that the job failed. The value of the **State** property is Failed.
PS C:\> Start-Job -ScriptBlock {Get-Process}
Id     Name       PSJobTypeName   State       HasMoreData     Location             Command
--     ----       -------------   -----       -----------     --------             -------
1      Job1       BackgroundJob   Failed      False           localhost            Get-Process

The second command uses the **Get-Job** cmdlet to get the job. The command uses the dot method to get the value of the **JobStateInfo** property of the object. It uses a pipeline operator to send the object in the **JobStateInfo** property to the Format-List cmdlet, which formats all of the properties of the object (*) in a list.The result of the **Format-List** command shows that the value of the **Reason** property of the job is blank.
PS C:\> (Get-Job).JobStateInfo | Format-List -Property *
State  : Failed
Reason :

The third command investigates more. It uses a **Get-Job** command to get the job and then uses a pipeline operator to send the whole job object to the **Format-List** cmdlet, which displays all of the properties of the job in a list.The display of all properties in the job object shows that the job contains a child job named Job2.
PS C:\> 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  :

The fourth command uses **Get-Job** to get the job object that represents the Job2 child job. This is the job in which the command actually ran. It uses the dot method to get the **Reason** property of the **JobStateInfo** property.The result shows that the job failed because of an Access Denied error. In this case, the user forgot to use the Run as administrator option when starting Windows PowerShell.Because background jobs use the remoting features of Windows PowerShell, the computer must be configured for remoting to run a job, even when the job runs on the local computer.For information about requirements for remoting in Windows PowerShell, see about_Remote_Requirements. For troubleshooting tips, see about_Remote_Troubleshooting.
PS C:\> (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.

Dieser Befehl zeigt, wie das Auftragsobjekt, das Get-Job zurückgibt, verwendet wird, um zu untersuchen, warum ein Auftrag fehlgeschlagen ist. Außerdem wird gezeigt, wie sie die Kinderaufträge jeder Aufgabe erhalten.

Beispiel 10: Abrufen gefilterter Ergebnisse

The first command uses the **Workflow** keyword to create the WFProcess workflow.
PS C:\> Workflow WFProcess {Get-Process}

The second command uses the *AsJob* parameter of the WFProcess workflow to run the workflow as a background job. It uses the *JobName* parameter of the workflow to specify a name for the job, and the *PSPrivateMetadata* parameter of the workflow to specify a custom ID.
PS C:\> WFProcess -AsJob -JobName WFProcessJob -PSPrivateMetadata @{MyCustomId = 92107}

The third command uses the *Filter* parameter of **Get-Job** to get the job by custom ID that was specified in the *PSPrivateMetadata* parameter.
PS C:\> Get-Job -Filter @{MyCustomId = 92107}
Id     Name            State         HasMoreData     Location             Command
--     ----            -----         -----------     --------             -------
1      WFProcessJob    Completed     True            localhost            WFProcess

In diesem Beispiel wird gezeigt, wie Sie den parameter Filter verwenden, um einen Workflowauftrag abzurufen. Der in Windows PowerShell 3.0 eingeführte parameter Filter ist nur für benutzerdefinierte Auftragstypen gültig, z. B. Workflowaufträge und geplante Aufträge.

Beispiel 11: Abrufen von Informationen zu untergeordneten Aufträgen

The first command gets the jobs in the current session. The output includes a background job, a remote job and several instances of a scheduled job. The remote job, Job4, appears to have failed.
PS C:\> 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

The second command uses the *IncludeChildJob* parameter of **Get-Job**. The output adds the child jobs of all jobs that have child jobs.In this case, the revised output shows that only the Job5 child job of Job4 failed.
PS C:\> 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

The third command uses the *ChildJobState* parameter with a value of Failed.The output includes all parent jobs and only the child jobs that failed.
PS C:\> 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

The fifth command uses the **JobStateInfo** property of jobs and its **Reason** property to discover why Job5 failed.
PS C:\> (Get-Job -Name Job5).JobStateInfo.Reason
Connecting to remote server Server01 failed with the following error message:
Access is denied.
For more information, see the about_Remote_Troubleshooting Help topic.

In diesem Beispiel wird gezeigt, wie sich die Verwendung der Parameter IncludeChildJob und ChildJobState des Cmdlets Get-Job auswirkt.

Parameter

-After

Ruft abgeschlossene Aufträge ab, die nach dem angegebenen Datum und der angegebenen Uhrzeit beendet wurden. Geben Sie ein DateTime-Objekt ein, z. B. ein vom Cmdlet Get-Date zurückgegebenes Objekt, oder eine Zeichenfolge, die in ein DateTime-Objekt konvertiert werden kann, z. B Dec 1, 2012 2:00 AM . oder 11/06.

Dieser Parameter funktioniert nur für benutzerdefinierte Auftragstypen, z. B. Workflowaufträge und geplante Aufträge, die eine EndTime-eigenschaft aufweisen. Es funktioniert nicht für Standard-Hintergrundaufträge, z. B. bei denen, die mit dem Cmdlet Startauftrag erstellt wurden. Informationen zur Unterstützung für diesen Parameter finden Sie im Hilfethema für den Auftragstyp.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Parametereigenschaften

Typ:DateTime
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

SessionIdParameterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
StateParameterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
CommandParameterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
InstanceIdParameterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
NameParameterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Before

Ruft abgeschlossene Aufträge ab, die vor dem angegebenen Datum und der angegebenen Uhrzeit beendet wurden. Geben Sie ein DateTime--Objekt ein.

Dieser Parameter funktioniert nur für benutzerdefinierte Auftragstypen, z. B. Workflowaufträge und geplante Aufträge, die eine EndTime-eigenschaft aufweisen. Es funktioniert nicht für Standard-Hintergrundaufträge, z. B. bei denen, die mit dem Cmdlet Startauftrag erstellt wurden. Informationen zur Unterstützung für diesen Parameter finden Sie im Hilfethema für den Auftragstyp.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Parametereigenschaften

Typ:DateTime
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

SessionIdParameterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
StateParameterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
CommandParameterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
InstanceIdParameterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
NameParameterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-ChildJobState

Ruft nur die untergeordneten Aufträge ab, die den angegebenen Zustand aufweisen. Die zulässigen Werte für diesen Parameter sind:

  • Nicht gestartet
  • Laufen
  • Abgeschlossen
  • gescheitert
  • Angehalten
  • Gesperrt
  • Suspendiert
  • Getrennt
  • Anhalten
  • Anhalten

Standardmäßig ruft Get-Job keine untergeordneten Aufträge ab. Mithilfe des IncludeChildJob-Parameters ruft Get-Job alle untergeordneten Aufträge ab. Wenn Sie den parameter ChildJobState verwenden, hat der IncludeChildJob Parameter keine Auswirkung.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Parametereigenschaften

Typ:JobState
Standardwert:None
Zulässige Werte:NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

SessionIdParameterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
StateParameterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
CommandParameterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
InstanceIdParameterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
NameParameterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Command

Gibt ein Array von Befehlen als Zeichenfolgen an. Dieses Cmdlet ruft die Aufträge ab, die die angegebenen Befehle enthalten. Die Standardeinstellung ist "alle Aufträge". Mit Wildcardzeichen können Sie ein Befehlsmuster angeben.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:True
Nicht anzeigen:False

Parametersätze

CommandParameterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-Filter

Gibt eine Hashtabelle mit Bedingungen an. Dieses Cmdlet ruft Aufträge ab, die alle Bedingungen erfüllen. Geben Sie eine Hashtabelle ein, in der die Schlüssel Auftragseigenschaften und die Werte Werte der Auftragseigenschaften sind.

Dieser Parameter funktioniert nur für benutzerdefinierte Auftragstypen, z. B. Workflowaufträge und geplante Aufträge. Es funktioniert nicht für Standard-Hintergrundaufträge, z. B. bei denen, die mit dem Cmdlet Startauftrag erstellt wurden. Informationen zur Unterstützung für diesen Parameter finden Sie im Hilfethema für den Auftragstyp.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Parametereigenschaften

Typ:Hashtable
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

FilterParameterSet
Position:0
Obligatorisch:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-HasMoreData

Gibt an, ob dieses Cmdlet nur Aufträge abruft, die den angegebenen HasMoreData Eigenschaftswert aufweisen. Die eigenschaft HasMoreData gibt an, ob alle Auftragsergebnisse in der aktuellen Sitzung empfangen wurden. Um Aufträge mit mehr Ergebnissen zu erhalten, geben Sie den Wert $True an. Um Aufträge zu erhalten, die nicht mehr Ergebnisse liefern, geben Sie den Wert $False an.

Um die Ergebnisse eines Auftrags abzurufen, verwenden Sie das Cmdlet Receive-Job.

Wenn Sie das Cmdlet Receive-Job verwenden, werden die zurückgegebenen Ergebnisse aus dem sitzungsspezifischen Speicher im Arbeitsspeicher gelöscht. Wenn alle Ergebnisse des Auftrags in der aktuellen Sitzung zurückgegeben wurden, wird der Wert der HasMoreData-Eigenschaft des Auftrags auf $False) festgelegt, um anzugeben, dass in der aktuellen Sitzung keine Ergebnisse mehr für den Auftrag vorliegen. Verwenden Sie den Keep-Parameter von Receive-Job, um zu verhindern, dass Receive-Job Ergebnisse löscht und den Wert der HasMoreData-Eigenschaft ändert. Geben Sie Get-Help Receive-Jobein, um weitere Informationen zu erfahren.

Die HasMoreData--Eigenschaft ist spezifisch für die aktuelle Sitzung. Wenn Ergebnisse für einen benutzerdefinierten Auftragstyp außerhalb der Sitzung gespeichert werden, z. B. für den geplanten Auftragstyp, bei dem die Auftragsergebnisse auf dem Datenträger gespeichert werden, können Sie das Cmdlet Receive-Job in einer anderen Sitzung verwenden, um die Auftragsergebnisse erneut abzurufen, auch wenn der Wert von HasMoreData $False ist. Weitere Informationen finden Sie in den Hilfethemen für den benutzerdefinierten Auftragstyp.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Parametereigenschaften

Typ:Boolean
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

SessionIdParameterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
StateParameterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
CommandParameterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
InstanceIdParameterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
NameParameterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Id

Gibt ein Array von IDs von Aufträgen an, die dieses Cmdlet abruft.

Die ID ist eine ganze Zahl, die den Job in der aktuellen Sitzung eindeutig identifiziert. Es ist einfacher zu merken und als die Instanz-ID einzugeben, aber sie ist nur in der aktuellen Sitzung eindeutig. Sie können eine oder mehrere IDs durch Kommas getrennt eingeben. Geben Sie Get-Job ohne Parameter ein, um die ID eines Auftrags zu finden.

Parametereigenschaften

Typ:

Int32[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

SessionIdParameterSet
Position:0
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-IncludeChildJob

Gibt an, dass dieses Cmdlet untergeordnete Aufträge zusätzlich zu übergeordneten Aufträgen zurückgibt.

Dieser Parameter ist besonders nützlich für die Untersuchung von Workflowaufträgen, für die Get-Job einen übergeordneten Containerauftrag zurückgibt, und von Auftragsfehlern, da der Grund für den Fehler in einer Eigenschaft des untergeordneten Auftrags gespeichert wird.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

SessionIdParameterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
StateParameterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
CommandParameterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
InstanceIdParameterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
NameParameterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-InstanceId

Gibt ein Array von Instanz-IDs von Aufträgen an, die dieses Cmdlet abruft. Die Standardeinstellung ist "alle Aufträge".

Eine Instanz-ID ist eine GUID, die den Auftrag auf dem Computer eindeutig identifiziert. Um die Instanz-ID eines Auftrags zu finden, verwenden Sie Get-Job.

Parametereigenschaften

Typ:

Guid[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

InstanceIdParameterSet
Position:0
Obligatorisch:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-Name

Gibt ein Array von Instanz-Anzeigenamen von Aufträgen an, die dieses Cmdlet abruft. Geben Sie einen Auftragsnamen ein, oder verwenden Sie Zum Eingeben eines Auftragsnamenmusters Wildcardzeichen. Standardmäßig ruft Get-Job alle Aufträge in der aktuellen Sitzung ab.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:True
Nicht anzeigen:False

Parametersätze

NameParameterSet
Position:0
Obligatorisch:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-Newest

Gibt eine Anzahl von Aufträgen an, die abgerufen werden sollen. Dieses Cmdlet ruft die Aufträge ab, die zuletzt beendet wurden.

Der parameter Newest sortiert oder gibt die neuesten Aufträge nicht in Endzeitreihenfolge zurück. Verwenden Sie zum Sortieren der Ausgabe das Cmdlet Sort-Object.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Parametereigenschaften

Typ:Int32
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

SessionIdParameterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
StateParameterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
CommandParameterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
InstanceIdParameterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
NameParameterSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-State

Gibt einen Jobstatus an. Dieses Cmdlet ruft nur Aufträge im angegebenen Zustand ab. Die zulässigen Werte für diesen Parameter sind:

  • Nicht gestartet
  • Laufen
  • Abgeschlossen
  • gescheitert
  • Angehalten
  • Gesperrt
  • Suspendiert
  • Getrennt
  • Anhalten
  • Anhalten

Standardmäßig ruft Get-Job alle Aufträge in der aktuellen Sitzung ab.

Weitere Informationen zu Auftragszuständen finden Sie unter JobState Enumeration in der MSDN Library.

Parametereigenschaften

Typ:JobState
Standardwert:None
Zulässige Werte:NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

StateParameterSet
Position:0
Obligatorisch:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

CommonParameters

Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.

Eingaben

None

Eingaben können nicht an dieses Cmdlet weitergereicht werden.

Ausgaben

System.Management.Automation.RemotingJob

Dieses Cmdlet gibt Objekte zurück, die die Aufträge in der Sitzung darstellen.

Hinweise

  • Die PSJobTypeName Eigenschaft von Aufträgen gibt den Auftragstyp des Auftrags an. Der Eigenschaftswert wird vom Autor des Auftragstyps bestimmt. In der folgenden Liste sind allgemeine Auftragstypen aufgeführt.

    • HintergrundJob. Lokaler Auftrag, der mit Start-Job gestartet wurde.

    • RemoteJob. Der Auftrag wurde in einer PSSession mithilfe des Parameters AsJob des Cmdlets Invoke-Command gestartet.

    • PSWorkflowJob. Auftrag, der mit der Verwendung des AsJob allgemeinen Parameter von Workflows gestartet wurde.