Remove-Job
PowerShell 백그라운드 작업을 삭제합니다.
구문
SessionIdParameterSet (기본값)
Remove-Job
[-Id] <Int32[]>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
JobParameterSet
Remove-Job
[-Job] <Job[]>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
NameParameterSet
Remove-Job
[-Name] <String[]>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
FilterParameterSet
Remove-Job
[-Filter] <Hashtable>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
InstanceIdParameterSet
Remove-Job
[-InstanceId] <Guid[]>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
StateParameterSet
Remove-Job
[-State] <JobState>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
CommandParameterSet
Remove-Job
[-Command <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Remove-Job cmdlet은 Start-Job cmdlet 또는 Invoke-Command 매개 변수를 지원하는 같은 cmdlet에 의해 시작된 PowerShell 백그라운드 작업을 삭제합니다.
Remove-Job 사용하여 모든 작업을 삭제하거나 선택한 작업을 삭제할 수 있습니다. 작업은 이름, ID, 인스턴스 ID, 명령또는 상태식별됩니다. 작업 개체를 파이프라인을 통해 Remove-Job에 보낼 수도 있습니다. 매개 변수 또는 매개 변수 값이 없으면 Remove-Job 효과가 없습니다.
PowerShell 3.0부터 Remove-Job 예약된 작업 및 워크플로 작업과 같은 사용자 지정 작업 유형을 삭제할 수 있습니다. 예를 들어 Remove-Job 예약된 작업, 디스크에 예약된 작업의 모든 인스턴스 및 트리거된 모든 작업 인스턴스의 결과를 삭제합니다.
실행 중인 작업을 삭제하려고 하면 Remove-Job 실패합니다.
Stop-Job cmdlet을 사용하여 실행 중인 작업을 중지합니다. 또는 Remove-Job 매개 변수와 함께 사용하여 실행 중인 작업을 삭제합니다.
백그라운드 작업을 삭제하거나 PowerShell 세션을 닫을 때까지 작업은 전역 작업 캐시에 남아 있습니다.
예제
예제 1: 이름을 사용하여 작업 삭제
이 예제에서는 변수와 파이프라인을 사용하여 이름으로 작업을 삭제합니다.
$batch = Get-Job -Name BatchJob
$batch | Remove-Job
Get-Job
Name 매개 변수를 사용하여 BatchJob작업을 지정합니다. 작업 개체는 $batch 변수에 저장됩니다.
$batch 개체가 파이프라인을 통해 Remove-Job로 전송됩니다.
대안은 같은 Remove-Job -Job $batch 매개 변수를 사용하는 것입니다.
예제 2: 세션의 모든 작업 삭제
이 예제에서는 현재 PowerShell 세션의 모든 작업이 삭제됩니다.
Get-job | Remove-Job
Get-Job 현재 PowerShell 세션의 모든 작업을 가져옵니다. 작업 객체는 파이프라인을 통해 Remove-Job으로 전송됩니다.
예제 3: 시작되지 않은 작업 삭제
다음은 시작되지 않은 현재 PowerShell 세션에서 모든 작업을 삭제하는 예제입니다.
Remove-Job -State NotStarted
Remove-Job
State 매개 변수를 사용하여 작업 상태를 지정합니다.
예제 4: 친숙한 이름을 사용하여 작업 삭제
다음은 현재 세션에서 실행 중인 작업을 포함하여 일괄 처리*로 끝나는 친숙한 이름으로 모든 작업을 삭제하는 예제입니다.
Remove-Job -Name *batch -Force
Remove-Job
Name 매개 변수를 사용하여 작업 이름 패턴을 지정합니다. 패턴에는 별표(*) 와일드카드를 포함하여 배치로 끝나는 모든 작업 이름을 찾습니다.
Force 매개 변수는 실행 중인 작업을 삭제합니다.
예제 5: Invoke-Command 만든 작업 삭제
이 예제에서는 Invoke-Command 매개 변수와 함께 사용하여 원격 컴퓨터에서 시작된 작업을 제거합니다.
이 예제에서는 AsJob 매개 변수를 사용하므로 작업 개체가 로컬 컴퓨터에 만들어집니다. 그러나 작업은 원격 컴퓨터에서 실행됩니다. 결과적으로 로컬 명령을 사용하여 작업을 관리합니다.
$job = Invoke-Command -ComputerName Server01 -ScriptBlock {Get-Process} -AsJob
$job | Remove-Job
Invoke-Command
Server01 컴퓨터에서 작업을 실행합니다.
AsJob 매개 변수는 ScriptBlock 백그라운드 작업으로 실행합니다. 작업 개체는 $job 변수에 저장됩니다.
$job 변수 개체는 파이프라인을 통해 Remove-Job로 전송됩니다.
예제 6: Invoke-Command 및 Start-Job이 생성한 작업을 삭제하기
이 예제는 Invoke-Command을 사용하여 Start-Job을 실행하기 위해 시작된 원격 컴퓨터의 작업을 제거하는 방법을 보여줍니다. 작업 개체는 원격 컴퓨터에 만들어지고 원격 명령은 작업을 관리하는 데 사용됩니다. 원격 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은 Server01 컴퓨터에 영구 연결인 PSSession를 생성합니다. 연결은 $S 변수에 저장됩니다.
Invoke-Command는 $S에 저장된 세션에 연결합니다.
ScriptBlockStart-Job 사용하여 원격 작업을 시작합니다. 작업은 Get-Process 명령을 실행하고 Name 매개 변수를 사용하여 MyJob 친숙한 작업 이름을 지정합니다.
Invoke-Command
$S 세션을 사용하고 Remove-Job실행합니다.
Name 매개변수는 MyJob라는 이름의 작업을 삭제하도록 지정합니다.
예제 7: InstanceId를 사용하여 작업 삭제
이 예제에서는 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 백그라운드 작업을 시작하고 작업 개체가 $job 변수에 저장됩니다.
$job 개체가 파이프라인을 통해 Format-List로 전송됩니다.
Property 매개 변수는 별표(*)를 사용하여 모든 개체의 속성이 목록에 표시되도록 지정합니다.
Remove-Job
InstanceId 매개 변수를 사용하여 삭제할 작업을 지정합니다.
매개 변수
-Command
명령에 지정된 단어가 포함된 작업을 삭제합니다. 쉼표로 구분된 배열을 입력할 수 있습니다.
매개 변수 속성
| 형식: | String[] |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
CommandParameterSet
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | True |
| 나머지 인수의 값: | False |
-Confirm
Remove-Job 실행되기 전에 확인 메시지를 표시합니다.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | False |
| 와일드카드 지원: | False |
| DontShow: | False |
| 별칭: | cf(cf) |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Filter
연결된 해시 테이블에 설정된 모든 조건을 충족하는 작업을 삭제합니다. 키가 작업 속성이고 값이 작업 속성 값인 해시 테이블을 입력합니다.
이 매개 변수는 워크플로 작업 및 예약된 작업과 같은 사용자 지정 작업 유형에서만 작동합니다.
Start-Job사용하여 만든 작업과 같은 표준 백그라운드 작업에서는 작동하지 않습니다.
이 매개 변수는 PowerShell 3.0에서 도입되었습니다.
매개 변수 속성
| 형식: | Hashtable |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
FilterParameterSet
| Position: | 0 |
| 필수: | True |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | True |
| 나머지 인수의 값: | False |
-Force
작업의 상태가 실행 중인경우에도 작업을 삭제합니다.
Force 매개 변수를 지정하지 않으면 Remove-Job 실행 중인 작업을 삭제하지 않습니다.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | False |
| 와일드카드 지원: | False |
| DontShow: | False |
| 별칭: | F |
매개 변수 집합
SessionIdParameterSet
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
JobParameterSet
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
NameParameterSet
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
InstanceIdParameterSet
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
FilterParameterSet
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Id
지정된 ID사용하여 백그라운드 작업을 삭제합니다. 쉼표로 구분된 배열을 입력할 수 있습니다. 작업의 ID 현재 세션 내에서 작업을 식별하는 고유한 정수입니다.
작업의 ID찾으려면 매개 변수 없이 Get-Job 사용합니다.
매개 변수 속성
| 형식: | Int32[] |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
SessionIdParameterSet
| Position: | 0 |
| 필수: | True |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | True |
| 나머지 인수의 값: | False |
-InstanceId
지정된 InstanceId사용하여 작업을 삭제합니다. 쉼표로 구분된 배열을 입력할 수 있습니다. InstanceId 작업을 식별하는 고유한 GUID입니다.
작업의 InstanceId찾으려면 Get-Job사용합니다.
매개 변수 속성
| 형식: | Guid[] |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
InstanceIdParameterSet
| Position: | 0 |
| 필수: | True |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | True |
| 나머지 인수의 값: | False |
-Job
삭제할 작업을 지정합니다. 작업을 가져오는 명령이나 작업이 포함된 변수를 입력합니다. 쉼표로 구분된 배열을 입력할 수 있습니다.
파이프라인을 통해 Remove-Job로 작업 개체를 보낼 수 있습니다.
매개 변수 속성
| 형식: | Job[] |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
JobParameterSet
| Position: | 0 |
| 필수: | True |
| 파이프라인의 값: | True |
| 속성 이름별 파이프라인의 값: | True |
| 나머지 인수의 값: | False |
-Name
지정된 이름을 가진 작업만 삭제합니다. 와일드카드가 허용됩니다. 쉼표로 구분된 배열을 입력할 수 있습니다.
PowerShell 세션 내에서도 작업에 대한 친숙한 이름은 고유하지 않습니다. 이름으로 파일을 삭제할 때 WhatIf 및 확인 매개 변수를 사용합니다.
매개 변수 속성
| 형식: | String[] |
| Default value: | None |
| 와일드카드 지원: | True |
| DontShow: | False |
매개 변수 집합
NameParameterSet
| Position: | 0 |
| 필수: | True |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | True |
| 나머지 인수의 값: | False |
-State
지정된 상태의 작업만 삭제합니다. 실행 중인상태에서 작업을 삭제하려면 Force 매개 변수를 사용합니다.
허용되는 값:
- AtBreakpoint
- 차단됨
- 완료됨
- 단절됨
- 실패
- 시작되지 않음
- 실행 중
- 중지됨
- 중지 중
- 일시 중단됨
- 일시 중지
매개 변수 속성
| 형식: | JobState |
| Default value: | None |
| 허용되는 값: | AtBreakpoint, Blocked, Completed, Disconnected, Failed, NotStarted, Running, Stopped, Stopping, Suspended, Suspending |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
StateParameterSet
| Position: | 0 |
| 필수: | True |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | True |
| 나머지 인수의 값: | False |
-WhatIf
Remove-Job 실행될 경우 어떤 일이 발생하는지 보여줍니다. cmdlet이 실행되지 않습니다.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | False |
| 와일드카드 지원: | False |
| DontShow: | False |
| 별칭: | 위스콘신 |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
CommonParameters
이 cmdlet은 일반적인 매개 변수인 -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction 및 -WarningVariable 매개 변수를 지원합니다. 자세한 내용은 about_CommonParameters를 참조하세요.
입력
Job
작업 개체를 파이프라인 아래로 보낼 수 있습니다 Remove-Job.
출력
None
Remove-Job 출력을 생성하지 않습니다.
참고
PowerShell 작업은 새 프로세스를 만듭니다. 작업이 완료되면 프로세스가 종료됩니다.
Remove-Job 실행되면 작업의 상태가 제거됩니다.
작업이 완료되기 전에 중지되고 프로세스가 종료되지 않으면 프로세스가 강제로 종료됩니다.