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.