Remove-Job
Usuwa zadanie w tle programu PowerShell.
Składnia
Remove-Job
[-Force]
[-Id] <Int32[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-Job
[-Job] <Job[]>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-Job
[-Force]
[-Name] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-Job
[-Force]
[-InstanceId] <Guid[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-Job
[-Force]
[-Filter] <Hashtable>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-Job
[-State] <JobState>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-Job
[-Command <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Opis
Polecenie Remove-Job
cmdlet usuwa zadania w tle programu PowerShell, które zostały uruchomione przez Start-Job
polecenie cmdlet lub polecenia cmdlet, takie jak Invoke-Command
obsługa parametru AsJob .
Możesz użyć Remove-Job
polecenia , aby usunąć wszystkie zadania lub usunąć wybrane zadania. Zadania są identyfikowane przez ich nazwę, identyfikator, identyfikator wystąpienia, polecenie lub stan. Można też wysłać obiekt zadania w dół potoku do Remove-Job
elementu . Bez parametrów lub wartości Remove-Job
parametrów nie ma wpływu.
Ponieważ program PowerShell 3.0 Remove-Job
może usuwać niestandardowe typy zadań, takie jak zaplanowane zadania i zadania przepływu pracy. Na przykład Remove-Job
usuwa zaplanowane zadanie, wszystkie wystąpienia zaplanowanego zadania na dysku oraz wyniki wszystkich wyzwolonych wystąpień zadań.
Jeśli spróbujesz usunąć uruchomione zadanie, Remove-Job
nie powiedzie się. Użyj polecenia cmdlet , Stop-Job
aby zatrzymać uruchomione zadanie. Możesz też użyć polecenia Remove-Job
z parametrem Force , aby usunąć uruchomione zadanie.
Zadania pozostają w globalnej pamięci podręcznej zadań do momentu usunięcia zadania w tle lub zamknięcia sesji programu PowerShell.
Przykłady
Przykład 1. Usuwanie zadania przy użyciu jego nazwy
W tym przykładzie użyto zmiennej i potoku do usunięcia zadania według nazwy.
$batch = Get-Job -Name BatchJob
$batch | Remove-Job
Get-Job
używa parametru Name w celu określenia zadania BatchJob. Obiekt zadania jest przechowywany w zmiennej $batch
. Obiekt w pliku $batch
jest wysyłany w dół potoku do .Remove-Job
Alternatywą jest użycie parametru Zadania , takiego jak Remove-Job -Job $batch
.
Przykład 2: Usuwanie wszystkich zadań w sesji
W tym przykładzie wszystkie zadania w bieżącej sesji programu PowerShell zostaną usunięte.
Get-job | Remove-Job
Get-Job
Pobiera wszystkie zadania w bieżącej sesji programu PowerShell. Obiekty zadania są wysyłane w dół potoku do elementu Remove-Job
.
Przykład 3. Usuwanie niestartowanych zadań
Ten przykład usuwa wszystkie zadania z bieżącej sesji programu PowerShell, które nie zostały uruchomione.
Remove-Job -State NotStarted
Remove-Job
używa parametru State , aby określić stan zadania.
Przykład 4. Usuwanie zadań przy użyciu przyjaznej nazwy
Ten przykład usuwa wszystkie zadania z bieżącej sesji z przyjaznymi nazwami kończącymi się partią*, w tym zadaniami, które są uruchomione.
Remove-Job -Name *batch -Force
Remove-Job
używa parametru Name , aby określić wzorzec nazwy zadania. Wzorzec zawiera symbol wieloznaczny gwiazdki (*
), aby znaleźć wszystkie nazwy zadań kończące się partią. Parametr Force usuwa uruchomione zadania.
Przykład 5. Usuwanie zadania utworzonego przez Invoke-Command
W tym przykładzie usunięto zadanie uruchomione na komputerze zdalnym przy użyciu parametru Invoke-Command
AsJob .
Ponieważ w przykładzie użyto parametru AsJob , obiekt zadania jest tworzony na komputerze lokalnym. Jednak zadanie jest uruchamiane na komputerze zdalnym. W związku z tym do zarządzania zadaniem są używane polecenia lokalne.
$job = Invoke-Command -ComputerName Server01 -ScriptBlock {Get-Process} -AsJob
$job | Remove-Job
Invoke-Command
uruchamia zadanie na komputerze Server01 . Parametr AsJob uruchamia skryptBlock jako zadanie w tle. Obiekt zadania jest przechowywany w zmiennej $job
. Obiekt $job
zmiennej jest wysyłany w dół potoku do elementu Remove-Job
.
Przykład 6. Usuwanie zadania utworzonego przez Invoke-Command i Start-Job
W tym przykładzie pokazano, jak usunąć zadanie na komputerze zdalnym, które zostało uruchomione przy użyciu polecenia Invoke-Command
w celu uruchomienia polecenia Start-Job
. Obiekt zadania jest tworzony na komputerze zdalnym, a polecenia zdalne są używane do zarządzania zadaniem. Trwałe połączenie jest wymagane podczas uruchamiania polecenia zdalnego Start-Job
.
$S = New-PSSession -ComputerName Server01
Invoke-Command -Session $S -ScriptBlock {Start-Job -ScriptBlock {Get-Process} -Name MyJob}
Invoke-Command -Session $S -ScriptBlock {Remove-Job -Name MyJob}
New-PSSession
Tworzy serwer PSSession, trwałe połączenie z komputerem Server01 . Połączenie jest zapisywane w zmiennej $S
.
Invoke-Command
nawiązuje połączenie z sesją zapisaną w pliku $S
. Funkcja ScriptBlock służy Start-Job
do uruchamiania zadania zdalnego. Zadanie uruchamia Get-Process
polecenie i używa parametru Name do określenia przyjaznej nazwy zadania MyJob.
Invoke-Command
używa sesji $S
i uruchamia polecenie Remove-Job
. Parametr Name określa, że zadanie o nazwie MyJob jest usuwane.
Przykład 7. Usuwanie zadania przy użyciu identyfikatora InstanceId
W tym przykładzie zadanie jest usuwane na podstawie jego identyfikatora InstanceId.
$job = Start-Job -ScriptBlock {Get-Process PowerShell}
$job | Format-List -Property *
Remove-Job -InstanceId ad02b942-8007-4407-87f3-d23e71955872
State : Completed
HasMoreData : True
StatusMessage :
Location : localhost
Command : Get-Process PowerShell
JobStateInfo : Completed
Finished : System.Threading.ManualResetEvent
InstanceId : ad02b942-8007-4407-87f3-d23e71955872
Id : 3
Name : Job3
ChildJobs : {Job4}
PSBeginTime : 7/26/2019 11:36:56
PSEndTime : 7/26/2019 11:36:57
PSJobTypeName : BackgroundJob
Output : {}
Error : {}
Progress : {}
Verbose : {}
Debug : {}
Warning : {}
Information : {}
Start-Job
uruchamia zadanie w tle, a obiekt zadania jest zapisywany w zmiennej $job
.
Obiekt w pliku $job
jest wysyłany w dół potoku do .Format-List
Parametr Property używa gwiazdki (*
), aby określić, że wszystkie właściwości obiektu są wyświetlane na liście.
Remove-Job
używa parametru InstanceId , aby określić zadanie do usunięcia.
Parametry
-Command
Usuwa zadania, które zawierają określone wyrazy w poleceniu. Możesz wprowadzić tablicę rozdzielaną przecinkami.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Confirm
Monituje o potwierdzenie przed Remove-Job
uruchomieniem.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Filter
Usuwa zadania spełniające wszystkie warunki określone w skojarzonej tabeli skrótów. 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 Start-Job
.
Ten parametr jest wprowadzany w programie PowerShell 3.0.
Type: | Hashtable |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Force
Usuwa zadanie, nawet jeśli stan zadania to Uruchomione. Jeśli parametr Force nie zostanie określony, Remove-Job
nie usuwa uruchomionych zadań.
Type: | SwitchParameter |
Aliases: | F |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Id
Usuwa zadania w tle z określonym identyfikatorem. Możesz wprowadzić tablicę rozdzielaną przecinkami. Identyfikator zadania jest unikatową liczbą całkowitą, która identyfikuje zadanie w bieżącej sesji.
Aby znaleźć identyfikator zadania, użyj polecenia Get-Job
bez parametrów.
Type: | Int32[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-InstanceId
Usuwa zadania z określonym identyfikatorem InstanceId. Możesz wprowadzić tablicę rozdzielaną przecinkami. InstanceId to unikatowy identyfikator GUID identyfikujący zadanie.
Aby znaleźć identyfikator InstanceId zadania, użyj polecenia Get-Job
.
Type: | Guid[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Job
Określa zadania do usunięcia. Wprowadź zmienną zawierającą zadania lub polecenie, które pobiera zadania. Możesz wprowadzić tablicę rozdzielaną przecinkami.
Obiekty zadań można wysyłać w dół potoku do elementu Remove-Job
.
Type: | Job[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Usuwa tylko zadania o określonej przyjaznej nazwie. Dozwolone są symbole wieloznaczne. Możesz wprowadzić tablicę rozdzielaną przecinkami.
Przyjazne nazwy zadań nie są unikatowe, nawet w ramach sesji programu PowerShell. Użyj parametrów WhatIf i Confirm podczas usuwania plików według nazwy.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-State
Usuwa tylko zadania o określonym stanie. Aby usunąć zadania ze stanem Uruchomiono, użyj parametru Force .
Zaakceptowane wartości:
- AtBreakpoint
- Zablokowane
- Ukończone
- Odłączony
- Niepowodzenie
- Niestartowane
- Uruchomienie
- Zatrzymano
- Zatrzymywanie
- Suspended
- Zawieszanie
Type: | JobState |
Accepted values: | AtBreakpoint, Blocked, Completed, Disconnected, Failed, NotStarted, Running, Stopped, Stopping, Suspended, Suspending |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Pokazuje, co się stanie w przypadku Remove-Job
uruchomienia. Polecenie cmdlet nie jest uruchamiane.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Dane wejściowe
Do tego polecenia cmdlet można przekazać obiekt Zadania .
Dane wyjściowe
None
To polecenie cmdlet nie zwraca żadnych danych wyjściowych.
Uwagi
Program PowerShell zawiera następujące aliasy dla Remove-Job
programu :
- Wszystkie platformy:
rjb
Zadanie programu PowerShell tworzy nowy proces. Po zakończeniu zadania proces zostanie zakończony. Po Remove-Job
uruchomieniu stan zadania zostanie usunięty.
Jeśli zadanie zostanie zatrzymane przed ukończeniem, a jego proces nie zostanie zakończony, proces zostanie wymuszony.