Udostępnij za pośrednictwem


Get-Job

Pobiera zadania w tle programu PowerShell uruchomione w bieżącej sesji.

Składnia

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

Opis

Polecenie cmdlet Get-Job pobiera obiekty reprezentujące zadania w tle uruchomione w bieżącej sesji. Możesz użyć Get-Job, aby pobrać zadania, które zostały uruchomione przy użyciu polecenia cmdlet Start-Job lub za pomocą AsJob parametru dowolnego polecenia cmdlet.

Bez parametrów polecenie Get-Job pobiera wszystkie zadania w bieżącej sesji. Aby uzyskać określone zadania, możesz użyć parametrów Get-Job.

Obiekt zadania, który Get-Job zwraca, zawiera przydatne informacje o zadaniu, ale nie zawiera wyników zadania. Aby uzyskać wyniki, użyj polecenia cmdlet Receive-Job.

Zadanie w tle programu Windows PowerShell to polecenie uruchamiane w tle bez interakcji z bieżącą sesją. Zazwyczaj zadanie w tle służy do uruchamiania złożonego polecenia, które trwa długo. Aby uzyskać więcej informacji na temat zadań w tle w programie Windows PowerShell, zobacz about_Jobs.

Począwszy od programu Windows PowerShell 3.0, polecenie cmdlet Get-Job pobiera również niestandardowe typy zadań, takie jak zadania przepływu pracy i wystąpienia zaplanowanych zadań. Aby znaleźć typ zadania, użyj właściwości PSJobTypeName zadania.

Aby umożliwić Get-Job uzyskanie niestandardowego typu zadania, zaimportuj moduł obsługujący typ zadania niestandardowego do sesji przed uruchomieniem polecenia Get-Job za pomocą polecenia cmdlet Import-Module lub polecenia cmdlet lub pobierania polecenia cmdlet w module. Aby uzyskać informacje na temat określonego niestandardowego typu zadania, zobacz dokumentację funkcji niestandardowego typu zadania.

Przykłady

Przykład 1. Pobieranie wszystkich zadań w tle uruchomionych w bieżącej sesji

To polecenie pobiera wszystkie zadania w tle uruchomione w bieżącej sesji. Nie obejmuje zadań utworzonych w innych sesjach, nawet jeśli zadania są uruchamiane na komputerze lokalnym.

Get-Job

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

Przykład 2. Zatrzymywanie zadania przy użyciu identyfikatora wystąpienia

Te polecenia pokazują, jak uzyskać identyfikator wystąpienia zadania, a następnie użyć go do zatrzymania zadania. W przeciwieństwie do nazwy zadania, które nie jest unikatowe, identyfikator wystąpienia jest unikatowy.

Pierwsze polecenie używa polecenia cmdlet Get-Job do pobrania zadania. Używa parametru Name w celu zidentyfikowania zadania. Polecenie przechowuje obiekt zadania, który Get-Job zwraca wartość w zmiennej $j. W tym przykładzie istnieje tylko jedno zadanie o określonej nazwie. Drugie polecenie pobiera właściwość InstanceId obiektu w zmiennej $j i zapisuje ją w zmiennej $ID. Trzecie polecenie wyświetla wartość zmiennej $ID. Czwarte polecenie używa polecenia cmdlet Stop-Job, aby zatrzymać zadanie. Używa parametru InstanceId, aby zidentyfikować zadanie i $ID zmienną reprezentującą identyfikator wystąpienia zadania.

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

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

Stop-Job -InstanceId $ID

Przykład 3. Pobieranie zadań zawierających określone polecenie

To polecenie pobiera zadania w systemie, które zawierają Get-Process polecenia. Polecenie używa parametru poleceniaGet-Job w celu ograniczenia pobranych zadań. Polecenie używa symboli wieloznacznych (*) w celu pobrania zadań zawierających Get-Process polecenia w dowolnym miejscu w ciągu polecenia.

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

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

Przykład 4. Pobieranie zadań zawierających określone polecenie przy użyciu potoku

Podobnie jak polecenie w poprzednim przykładzie, to polecenie pobiera zadania w systemie, które zawierają Get-Process polecenia. Polecenie używa operatora potoku (|) do wysyłania obiektu PSCustomObject za pomocą polecenia NoteProperty , do polecenia cmdlet Get-Job. Jest to odpowiednik poprzedniego polecenia.

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

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

Przykład 5. Pobieranie zadań, które nie zostały uruchomione

To polecenie pobiera tylko te zadania, które zostały utworzone, ale nie zostały jeszcze uruchomione. Obejmuje to zadania, które mają być uruchamiane w przyszłości, a nie zostały jeszcze zaplanowane.

Get-Job -State NotStarted

Przykład 6. Pobieranie zadań, które nie zostały przypisane do nazwy

To polecenie pobiera wszystkie zadania, które mają nazwy zadań rozpoczynających się od zadania. Ponieważ job<number> jest domyślną nazwą zadania, to polecenie pobiera wszystkie zadania, które nie mają jawnie przypisanej nazwy.

Get-Job -Name Job*

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

Przykład 7. Używanie obiektu zadania do reprezentowania zadania w poleceniu

W tym przykładzie pokazano, jak za pomocą Get-Job uzyskać obiekt zadania, a następnie pokazano, jak używać obiektu zadania do reprezentowania zadania w poleceniu.

Pierwsze polecenie używa polecenia cmdlet Start-Job do uruchomienia zadania w tle, które uruchamia Get-Process polecenie na komputerze lokalnym. Polecenie używa parametru NazwaStart-Job, aby przypisać przyjazną nazwę do zadania. Drugie polecenie używa Get-Job do pobrania zadania. Używa parametru NameGet-Job w celu zidentyfikowania zadania. Polecenie zapisuje wynikowy obiekt zadania w zmiennej $j. Trzecie polecenie wyświetla wartość obiektu zadania w zmiennej $j. Wartość właściwości stanu pokazuje, że zadanie zostało ukończone. Wartość właściwości HasMoreData pokazuje, że są dostępne wyniki z zadania, które nie zostały jeszcze pobrane. Czwarte polecenie używa polecenia cmdlet Receive-Job, aby uzyskać wyniki zadania. Używa obiektu zadania w zmiennej $j do reprezentowania zadania. Możesz również użyć operatora potoku, aby wysłać obiekt zadania do Receive-Job.

Start-Job -ScriptBlock {Get-Process} -Name MyJob
$j = Get-Job -Name MyJob
$j

Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
6      MyJob           BackgroundJob   Completed     True            localhost            Get-Process

Receive-Job -Job $j

Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id ProcessName
-------  ------    -----      ----- -----   ------     -- -----------
    124       4    13572      12080    59            1140 audiodg
    783      16    11428      13636   100             548 CcmExec
     96       4     4252       3764    59            3856 ccmsetup
...

Przykład 8. Pobieranie wszystkich zadań, w tym zadań uruchomionych przez inną metodę

W tym przykładzie pokazano, że polecenie cmdlet Get-Job może pobrać wszystkie zadania uruchomione w bieżącej sesji, nawet jeśli zostały uruchomione przy użyciu różnych metod.

Pierwsze polecenie używa polecenia cmdlet Start-Job do uruchomienia zadania na komputerze lokalnym. Drugie polecenie używa parametru AsJob polecenia cmdlet Invoke-Command, aby uruchomić zadanie na komputerze S1. Mimo że polecenia w zadaniu są uruchamiane na komputerze zdalnym, obiekt zadania jest tworzony na komputerze lokalnym, aby zarządzać zadaniem za pomocą poleceń lokalnych. Trzecie polecenie używa polecenia cmdlet Invoke-Command do uruchomienia polecenia Start-Job na komputerze S2. Za pomocą tej metody obiekt zadania jest tworzony na komputerze zdalnym, więc do zarządzania zadaniem służy zdalne polecenia. Czwarte polecenie używa Get-Job, aby pobrać zadania przechowywane na komputerze lokalnym. Właściwość PSJobTypeName zadań, wprowadzona w programie Windows PowerShell 3.0, pokazuje, że zadanie lokalne uruchomione przy użyciu polecenia cmdlet Start-Job jest zadaniem w tle, a zadanie uruchomione w sesji zdalnej przy użyciu polecenia cmdlet Invoke-Command jest zadaniem zdalnym. Piąte, szóste i siódme polecenie używa polecenia cmdlet New-PSSession do utworzenia pssession, który jest połączony z komputerem S2, używa Invoke-Command do uruchamiania zadania na komputerze zdalnym przy użyciu psSession i sesji parametru. Następnie pobiera zadanie przy użyciu polecenia Get-Job na komputerze S2 przy użyciu psSession. Przykładowe dane wyjściowe pokazują wyniki polecenia Get-Job. Na komputerze S2 zadanie wydaje się być zadaniem lokalnym. Nazwa komputera to localhost, a typ zadania to zadanie w tle. Aby uzyskać więcej informacji na temat uruchamiania zadań w tle na komputerach zdalnych, zobacz about_Remote_Jobs.

Start-Job -ScriptBlock {Get-EventLog -LogName System}
Invoke-Command -ComputerName S1 -ScriptBlock {Get-EventLog -LogName System} -AsJob
Invoke-Command -ComputerName S2 -ScriptBlock {Start-Job -ScriptBlock {Get-EventLog -LogName System}}
Get-Job

Id     Name       PSJobTypeName   State         HasMoreData     Location        Command
--     ----       -------------   -----         -----------     --------        -------
1      Job1       BackgroundJob   Running       True            localhost       Get-EventLog System
2      Job2       RemoteJob       Running       True            S1              Get-EventLog System

$Session = New-PSSession -ComputerName S2
Invoke-Command -Session $Session -ScriptBlock {Start-Job -ScriptBlock {Get-EventLog -LogName System}}
Invoke-Command -Session $Session -ScriptBlock {Get-Job}

Id     Name            PSJobTypeName   State         HasMoreData     Location             Command                   PSComputerName
--     ----            -------------   -----         -----------     --------             -------                   --------------
1      Job1            BackgroundJob   Running       True            localhost            Get-EventLog -LogName Sy… S2

Przykład 9. Badanie zadania, które zakończyło się niepowodzeniem

To polecenie pokazuje, jak użyć obiektu zadania, który Get-Job powróci do zbadania, dlaczego zadanie nie powiodło się. Pokazuje również, jak uzyskać podrzędne zadania poszczególnych zadań.

Pierwsze polecenie używa polecenia cmdlet Start-Job do uruchomienia zadania na komputerze lokalnym. Obiekt zadania, który Start-Job zwraca, pokazuje, że zadanie nie powiodło się. Wartość właściwości State jest Niepowodzenie.

Drugie polecenie używa polecenia cmdlet Get-Job w celu pobrania zadania. Polecenie używa metody kropki, aby uzyskać wartość właściwości JobStateInfo obiektu. Używa operatora potoku do wysyłania obiektu we właściwości JobStateInfo do polecenia cmdlet Format-List, które formatuje wszystkie właściwości obiektu (*) na liście. Wynik polecenia Format-List pokazuje, że wartość właściwości Reason zadania jest pusta.

Trzecie polecenie bada więcej. Używa polecenia Get-Job, aby pobrać zadanie, a następnie używa operatora potoku do wysyłania całego obiektu zadania do polecenia cmdlet Format-List, które wyświetla wszystkie właściwości zadania na liście. Wyświetlanie wszystkich właściwości w obiekcie zadania pokazuje, że zadanie zawiera podrzędne zadanie o nazwie Job2.

Czwarte polecenie używa Get-Job, aby uzyskać obiekt zadania, który reprezentuje zadanie podrzędne Job2. Jest to zadanie, w którym polecenie rzeczywiście zostało uruchomione. Używa metody kropki, aby uzyskać właściwość Reason właściwości JobStateInfo. Wynik pokazuje, że zadanie nie powiodło się z powodu błędu Odmowy dostępu. W takim przypadku użytkownik zapomniał użyć opcji Uruchom jako administrator podczas uruchamiania programu Windows PowerShell.Ponieważ zadania w tle korzystają z funkcji komunikacji zdalnej programu Windows PowerShell, komputer musi być skonfigurowany do komunikacji zdalnej w celu uruchomienia zadania, nawet gdy zadanie jest uruchamiane na komputerze lokalnym. Aby uzyskać informacje o wymaganiach dotyczących komunikacji zdalnej w programie Windows PowerShell, zobacz about_Remote_Requirements. Aby uzyskać porady dotyczące rozwiązywania problemów, zobacz about_Remote_Troubleshooting.

PS> Start-Job -ScriptBlock {Get-Process}
Id     Name       PSJobTypeName   State       HasMoreData     Location             Command
--     ----       -------------   -----       -----------     --------             -------
1      Job1       BackgroundJob   Failed      False           localhost            Get-Process

PS> (Get-Job).JobStateInfo | Format-List -Property *
State  : Failed
Reason :

PS> Get-Job | Format-List -Property *
HasMoreData   : False
StatusMessage :
Location      : localhost
Command       : get-process
JobStateInfo  : Failed
Finished      : System.Threading.ManualReset
EventInstanceId    : fb792295-1318-4f5d-8ac8-8a89c5261507
Id            : 1
Name          : Job1
ChildJobs     : {Job2}
Output        : {}
Error         : {}
Progress      : {}
Verbose       : {}
Debug         : {}
Warning       : {}
StateChanged  :

PS> (Get-Job -Name job2).JobStateInfo.Reason
Connecting to remote server using WSManCreateShellEx api failed. The async callback gave the
following error message: Access is denied.

Przykład 10: Pobieranie filtrowanych wyników

W tym przykładzie pokazano, jak użyć parametru Filter w celu pobrania zadania przepływu pracy. Parametr Filter wprowadzony w programie Windows PowerShell 3.0 jest prawidłowy tylko w przypadku niestandardowych typów zadań, takich jak zadania przepływu pracy i zaplanowane zadania.

Pierwsze polecenie używa słowa kluczowego Workflow w celu utworzenia przepływu pracy WFProcess. Drugie polecenie używa parametru AsJob przepływu pracy WFProcess w celu uruchomienia przepływu pracy jako zadania w tle. Używa parametru JobName przepływu pracy, aby określić nazwę zadania, a PSPrivateMetadata parametr przepływu pracy, aby określić identyfikator niestandardowy. Trzecie polecenie używa parametru FilterGet-Job, aby pobrać zadanie według identyfikatora niestandardowego określonego w parametrze 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

Przykład 11: Uzyskiwanie informacji o zadaniach podrzędnych

W tym przykładzie pokazano efekt użycia parametrów IncludeChildJob i ChildJobState parametrów polecenia cmdlet Get-Job.

Pierwsze polecenie pobiera zadania w bieżącej sesji. Dane wyjściowe obejmują zadanie w tle, zadanie zdalne i kilka wystąpień zaplanowanego zadania. Zadanie zdalne, Job4, wydaje się, że nie powiodło się. Drugie polecenie używa parametru IncludeChildJobGet-Job. Dane wyjściowe dodają zadania podrzędne wszystkich zadań, które mają zadania podrzędne. W takim przypadku poprawione dane wyjściowe pokazują, że zadanie podrzędne Job5 job4 nie powiodło się. Trzecie polecenie używa parametru ChildJobState z wartością Failed.Dane wyjściowe zawierają wszystkie zadania nadrzędne i tylko zadania podrzędne, które zakończyły się niepowodzeniem. Piąte polecenie używa właściwości JobStateInfo zadań i jej właściwości Reason, aby dowiedzieć się, dlaczego zadanie5 nie powiodło się.

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.

Aby uzyskać więcej informacji, zobacz temat pomocy about_Remote_Troubleshooting.

Parametry

-After

Pobiera ukończone zadania, które zakończyły się po określonej dacie i godzinie. Wprowadź obiekt DateTime, taki jak obiekt zwracany przez polecenie cmdlet Get-Date lub ciąg, który można przekonwertować na obiekt DateTime, taki jak Dec 1, 2012 2:00 AM lub 11/06.

Ten parametr działa tylko w przypadku niestandardowych typów zadań, takich jak zadania przepływu pracy i zaplanowane zadania, które mają właściwość EndTime. Nie działa w przypadku standardowych zadań w tle, takich jak te utworzone przy użyciu polecenia cmdlet Start-Job. Aby uzyskać informacje o obsłudze tego parametru, zobacz temat pomocy dla typu zadania.

Ten parametr został wprowadzony w programie Windows PowerShell 3.0.

Typ:DateTime
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Before

Pobiera ukończone zadania, które zakończyły się przed określoną datą i godziną. Wprowadź obiekt DateTime.

Ten parametr działa tylko w przypadku niestandardowych typów zadań, takich jak zadania przepływu pracy i zaplanowane zadania, które mają właściwość EndTime. Nie działa w przypadku standardowych zadań w tle, takich jak te utworzone przy użyciu polecenia cmdlet Start-Job. Aby uzyskać informacje o obsłudze tego parametru, zobacz temat pomocy dla typu zadania.

Ten parametr został wprowadzony w programie Windows PowerShell 3.0.

Typ:DateTime
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-ChildJobState

Pobiera tylko zadania podrzędne, które mają określony stan. Dopuszczalne wartości tego parametru to:

  • Niestartowane
  • Bieganie
  • Zakończone
  • Nie powiodło się
  • Zatrzymany
  • Zablokowany
  • Zawieszony
  • Bezładny
  • Zawieszenie
  • Zatrzymanie

Domyślnie Get-Job nie pobiera zadań podrzędnych. Używając parametru IncludeChildJob, Get-Job pobiera wszystkie zadania podrzędne. Jeśli używasz parametru ChildJobState, parametr IncludeChildJob nie ma żadnego efektu.

Ten parametr został wprowadzony w programie Windows PowerShell 3.0.

Typ:JobState
Dopuszczalne wartości:NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Command

Określa tablicę poleceń jako ciągi. To polecenie cmdlet pobiera zadania zawierające określone polecenia. Wartość domyślna to wszystkie zadania. Możesz użyć symboli wieloznacznych, aby określić wzorzec polecenia.

Typ:String[]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:True

-Filter

Określa tabelę skrótów warunków. To polecenie cmdlet pobiera zadania spełniające wszystkie warunki. Wprowadź tabelę skrótów, w której klucze są właściwościami zadania, a wartości są wartościami właściwości zadania.

Ten parametr działa tylko w przypadku niestandardowych typów zadań, takich jak zadania przepływu pracy i zaplanowane zadania. Nie działa w przypadku standardowych zadań w tle, takich jak te utworzone przy użyciu polecenia cmdlet Start-Job. Aby uzyskać informacje o obsłudze tego parametru, zobacz temat pomocy dla typu zadania.

Ten parametr został wprowadzony w programie Windows PowerShell 3.0.

Typ:Hashtable
Position:0
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-HasMoreData

Wskazuje, czy to polecenie cmdlet pobiera tylko zadania z określoną wartością właściwości HasMoreData. Właściwość HasMoreData wskazuje, czy wszystkie wyniki zadania zostały odebrane w bieżącej sesji. Aby uzyskać więcej wyników dla zadań, określ wartość $True. Aby uzyskać zadania, które nie mają większej liczby wyników, określ wartość $False.

Aby uzyskać wyniki zadania, użyj polecenia cmdlet Receive-Job.

Gdy używasz polecenia cmdlet Receive-Job, usuwa on z magazynu w pamięci określonego dla sesji wyniki, które zwrócił. Gdy zwraca wszystkie wyniki zadania w bieżącej sesji, ustawia wartość właściwości HasMoreData zadania na $False), aby wskazać, że nie ma więcej wyników dla zadania w bieżącej sesji. Użyj parametru KeepReceive-Job, aby uniemożliwić Receive-Job usunięcie wyników i zmianę wartości właściwości HasMoreData. Aby uzyskać więcej informacji, wpisz Get-Help Receive-Job.

Właściwość HasMoreData jest specyficzna dla bieżącej sesji. Jeśli wyniki niestandardowego typu zadania są zapisywane poza sesją, takie jak typ zaplanowanego zadania, który zapisuje wyniki zadania na dysku, można użyć polecenia cmdlet Receive-Job w innej sesji, aby ponownie uzyskać wyniki zadania, nawet jeśli wartość HasMoreData jest $False. Aby uzyskać więcej informacji, zobacz tematy pomocy dotyczące niestandardowego typu zadania.

Ten parametr został wprowadzony w programie Windows PowerShell 3.0.

Typ:Boolean
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Id

Określa tablicę identyfikatorów zadań pobieranych przez to polecenie cmdlet.

Identyfikator jest liczbą całkowitą, która jednoznacznie identyfikuje zadanie w bieżącej sesji. Łatwiej jest zapamiętać identyfikator wystąpienia i wpisać go, ale jest on unikatowy tylko w bieżącej sesji. Można wpisać jeden lub więcej identyfikatorów rozdzielonych przecinkami. Aby znaleźć identyfikator zadania, wpisz Get-Job bez parametrów.

Typ:Int32[]
Position:0
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-IncludeChildJob

Wskazuje, że to polecenie cmdlet zwraca zadania podrzędne oprócz zadań nadrzędnych.

Ten parametr jest szczególnie przydatny do badania zadań przepływu pracy, dla których Get-Job zwraca zadanie nadrzędne kontenera i niepowodzenia zadań, ponieważ przyczyna niepowodzenia jest zapisywana we właściwości zadania podrzędnego.

Ten parametr został wprowadzony w programie Windows PowerShell 3.0.

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-InstanceId

Określa tablicę identyfikatorów wystąpień zadań pobieranych przez to polecenie cmdlet. Wartość domyślna to wszystkie zadania.

Identyfikator wystąpienia to identyfikator GUID, który jednoznacznie identyfikuje zadanie na komputerze. Aby znaleźć identyfikator wystąpienia zadania, użyj Get-Job.

Typ:Guid[]
Position:0
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Name

Określa tablicę przyjaznych nazw wystąpień zadań pobieranych przez to polecenie cmdlet. Wprowadź nazwę zadania lub użyj symboli wieloznacznych, aby wprowadzić wzorzec nazwy zadania. Domyślnie Get-Job pobiera wszystkie zadania w bieżącej sesji.

Typ:String[]
Position:0
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:True

-Newest

Określa liczbę zadań do pobrania. To polecenie cmdlet pobiera ostatnio zakończone zadania.

Parametr Najnowszy nie sortuje ani nie zwraca najnowszych zadań w kolejności czasu zakończenia. Aby posortować dane wyjściowe, użyj polecenia cmdlet Sort-Object.

Ten parametr został wprowadzony w programie Windows PowerShell 3.0.

Typ:Int32
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-State

Określa stan zadania. To polecenie cmdlet pobiera tylko zadania w określonym stanie. Dopuszczalne wartości tego parametru to:

  • Niestartowane
  • Bieganie
  • Zakończone
  • Nie powiodło się
  • Zatrzymany
  • Zablokowany
  • Zawieszony
  • Bezładny
  • Zawieszenie
  • Zatrzymanie

Domyślnie Get-Job pobiera wszystkie zadania w bieżącej sesji.

Aby uzyskać więcej informacji na temat stanów zadań, zobacz JobState Enumeration.

Typ:JobState
Dopuszczalne wartości:NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint
Position:0
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

Dane wejściowe

None

Nie można potokować obiektów do tego polecenia cmdlet.

Dane wyjściowe

System.Management.Automation.RemotingJob

To polecenie cmdlet zwraca obiekty reprezentujące zadania w sesji.

Uwagi

Program PowerShell zawiera następujące aliasy dla Get-Job:

  • Wszystkie platformy:
    • gjb

Właściwość PSJobTypeName zadania wskazuje typ zadania. Wartość właściwości jest określana przez autora typu zadania. Na poniższej liście przedstawiono typowe typy zadań.

  • backgroundJob. Zadanie lokalne uruchomione przy użyciu Start-Job.
  • remoteJob. Zadanie uruchomione w PSSession przy użyciu parametru AsJob polecenia cmdlet Invoke-Command.
  • PSWorkflowJob . Zadanie rozpoczęte przy użyciu AsJob wspólnego parametru przepływów pracy.