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>]
   [-Command <String[]>]
   [<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
   [-Filter] <Hashtable>
   [<CommonParameters>]

Opis

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

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

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

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, Get-Job polecenie cmdlet 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 włączyć Get-Job pobieranie niestandardowego typu zadania, zaimportuj moduł obsługujący niestandardowy typ zadania do sesji przed uruchomieniem Get-Job polecenia za pomocą polecenia cmdlet lub przy użyciu Import-Module 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 Get-Job polecenia cmdlet do pobrania zadania. Używa parametru Name do identyfikowania zadania. Polecenie przechowuje obiekt zadania zwracany Get-Job 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 przechowuje ją w zmiennej $ID . Trzecie polecenie wyświetla wartość zmiennej $ID . Czwarte polecenie używa Stop-Job polecenia cmdlet, aby zatrzymać zadanie. Używa parametru InstanceId do identyfikowania zadania i $ID zmiennej do reprezentowania identyfikatora 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 polecenie. Polecenie używa parametru Command polecenia , Get-Job aby ograniczyć pobrane zadania. Polecenie używa symboli wieloznacznych (*) do pobierania zadań zawierających Get-Process polecenie 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 polecenie. Polecenie używa operatora potoku (|) do wysłania obiektu PSCustomObject za pomocą polecenia NoteProperty do Get-Job polecenia cmdlet. 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 to domyślna nazwa 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 Get-Job uzyskać obiekt zadania, a następnie pokazano, jak używać obiektu zadania do reprezentowania zadania w poleceniu.

Pierwsze polecenie używa Start-Job polecenia cmdlet do uruchomienia zadania w tle, które uruchamia Get-Process polecenie na komputerze lokalnym. Polecenie używa parametru Name polecenia , Start-Job aby przypisać przyjazną nazwę do zadania. Drugie polecenie używa Get-Job polecenia do pobrania zadania. Używa parametru Name parametru , Get-Job aby zidentyfikować zadanie. Polecenie zapisuje wynikowy obiekt zadania w zmiennej $j . Trzecie polecenie wyświetla wartość obiektu zadania w zmiennej $j . Wartość właściwości State 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 Receive-Job polecenia cmdlet , 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 Get-Job polecenie cmdlet może pobrać wszystkie zadania, które zostały uruchomione w bieżącej sesji, nawet jeśli zostały uruchomione przy użyciu różnych metod.

Pierwsze polecenie używa Start-Job polecenia cmdlet do uruchomienia zadania na komputerze lokalnym. Drugie polecenie używa parametru Invoke-Command AsJob polecenia cmdlet, 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 Invoke-Command polecenia cmdlet do uruchomienia Start-Job polecenia 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 polecenia do pobierania zadań przechowywanych na komputerze lokalnym. Właściwość PSJobTypeName zadań, wprowadzona w programie Windows PowerShell 3.0, pokazuje, że zadanie lokalne uruchomione przy użyciu Start-Job polecenia cmdlet jest zadaniem w tle, a zadanie uruchomione w sesji zdalnej przy użyciu Invoke-Command polecenia cmdlet jest zadaniem zdalnym. Piąte, szóste i siódme polecenie używa New-PSSession polecenia cmdlet do utworzenia psSession, który jest połączony z komputerem S2, używa Invoke-Command go do uruchamiania zadania na komputerze zdalnym przy użyciu PSSession i parametru Sesja . Następnie pobiera zadanie przy użyciu Get-Job polecenia na komputerze S2 przy użyciu programu PSSession. Przykładowe dane wyjściowe pokazują wyniki Get-Job polecenia. 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żywać obiektu zadania, który Get-Job powraca, aby zbadać, dlaczego zadanie nie powiodło się. Pokazuje również, jak uzyskać podrzędne zadania poszczególnych zadań.

Pierwsze polecenie używa Start-Job polecenia cmdlet 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 to Failed (Niepowodzenie).

Drugie polecenie używa Get-Job polecenia cmdlet do 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 Format-List polecenia cmdlet, które formatuje wszystkie właściwości obiektu (*) na liście. Wynik Format-List polecenia pokazuje, że wartość właściwości Reason zadania jest pusta.

Trzecie polecenie bada więcej. Używa Get-Job polecenia , aby pobrać zadanie, a następnie używa operatora potoku do wysłania całego obiektu zadania do Format-List polecenia cmdlet, 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 polecenia do pobrania obiektu zadania reprezentującego 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 za pomocą parametru Filter uzyskać zadanie 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 do utworzenia przepływu pracy WFProcess. Drugie polecenie używa parametru AsJob przepływu pracy WFProcess do uruchamiania przepływu pracy jako zadania w tle. Używa parametru JobName przepływu pracy do określenia nazwy zadania i parametru PSPrivateMetadata przepływu pracy w celu określenia niestandardowego identyfikatora. Trzecie polecenie używa parametru Filter polecenia Get-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 Get-Job IncludeChildJob i ChildJobState polecenia cmdlet.

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 IncludeChildJob polecenia Get-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 job5 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 jeden zwrócony przez Get-Date polecenie cmdlet 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 Start-Job polecenia cmdlet . 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 Start-Job polecenia cmdlet . 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:

  • Nierozpoczęte
  • Uruchomiono
  • Ukończone
  • Niepowodzenie
  • Zatrzymana
  • Zablokowano
  • Suspended
  • Odłączony
  • Zawieszanie
  • Zatrzymywanie

Domyślnie Get-Job nie pobiera zadań podrzędnych. Za pomocą parametru Get-Job IncludeChildJob pobiera wszystkie zadania podrzędne. Jeśli używasz parametru ChildJobState , parametr IncludeChildJob nie ma 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 Start-Job polecenia cmdlet . 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, które mają określoną wartość właściwości HasMoreData . Właściwość HasMoreData wskazuje, czy wszystkie wyniki zadania zostały odebrane w bieżącej sesji. Aby uzyskać zadania, które mają więcej wyników, określ wartość $True. Aby uzyskać zadania, które nie mają większej $Falseliczby wyników, określ wartość .

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

Gdy używasz Receive-Job polecenia cmdlet, usuwa on z magazynu w pamięci specyficznego dla sesji wyniki, które zostały zwrócone. Gdy zwraca wszystkie wyniki zadania w bieżącej sesji, ustawia wartość właściwości HasMoreData zadania na $Falsewartość ), aby wskazać, że nie ma więcej wyników dla zadania w bieżącej sesji. Użyj parametru Keep polecenia , Receive-Job aby zapobiec Receive-Job usuwaniu wyników i zmienianiu 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żesz użyć Receive-Job polecenia cmdlet w innej sesji, aby ponownie uzyskać wyniki zadania, nawet jeśli wartość HasMoreData to $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 zadania, 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 polecenia 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.

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

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:

  • Nierozpoczęte
  • Uruchomiono
  • Ukończone
  • Niepowodzenie
  • Zatrzymana
  • Zablokowano
  • Suspended
  • Odłączony
  • Zawieszanie
  • Zatrzymywanie

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

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

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 Windows PowerShell zawiera następujące aliasy dla programu Get-Job:

  • gjb

Właściwość PSJobTypeName zadań 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 polecenia Start-Job.
  • RemoteJob. Zadanie uruchomione w programie PSSession przy użyciu parametru Invoke-Command AsJob polecenia cmdlet.
  • PSWorkflowJob. Zadanie rozpoczęte przy użyciu wspólnego parametru asJob przepływów pracy.