Windows PowerShell 백그라운드 작업을 삭제합니다.
구문
Remove-Job [-Id] <Int32[]> [-Force] [-Confirm] [-WhatIf] [<CommonParameters>] Remove-Job [-Command <string[]>] [-Confirm] [-WhatIf] [<CommonParameters>] Remove-Job [[-InstanceId] <Guid[]>] [-Force] [-Confirm] [-WhatIf] [<CommonParameters>] Remove-Job [-Job] <Job[]> [-Force] [-Confirm] [-WhatIf] [<CommonParameters>] Remove-Job [[-Name] <string[]>] [-Force] [-Confirm] [-WhatIf] [<CommonParameters>] Remove-Job [-State {<NotStarted> | <Running> | <Completed> | <Failed> | <Stopped> | <Blocked>}] [-Confirm] [-WhatIf] [<CommonParameters>]
설명
Remove-Job cmdlet은 Start-Job이나 임의의 cmdlet의 AsJob 매개 변수를 사용하여 시작된 Windows PowerShell 백그라운드 작업을 삭제합니다.
이 cmdlet을 사용하여 모든 작업을 삭제하거나 이름, ID, 인스턴스 ID, 명령 또는 상태를 기준으로 하거나 작업 개체를 Remove-Job으로 전달하여 선택된 작업을 삭제합니다. 매개 변수나 매개 변수 값이 없는 경우 Remove-Job은 영향을 주지 않습니다.
실행 중인 작업을 삭제하기 전에 Stop-Job cmdlet을 사용하여 작업을 중지합니다. 실행 중인 작업을 삭제하려고 하면 명령이 실패합니다. Remove-Job의 Force 매개 변수를 사용하여 실행 중인 작업을 삭제할 수 있습니다.
백그라운드 작업을 삭제하지 않으면 작업이 만들어진 세션을 닫을 때까지 작업이 전역 작업 캐시에 남아 있습니다.
매개 변수
-Command <string[]>
지정된 단어를 명령에 포함하는 작업을 제거합니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
true (ByPropertyName) |
와일드카드 문자 적용 여부 |
false |
-Force
상태가 "Running"인 경우에도 작업을 삭제합니다. Force 매개 변수를 사용하지 않으면 Remove-Job이 실행 중인 작업을 삭제하지 않습니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-Id <Int32[]>
지정된 ID를 가진 백그라운드 작업을 삭제합니다.
ID는 현재 세션 내에서 작업을 고유하게 식별하는 정수입니다. 이 ID는 인스턴스 ID보다 기억하거나 입력하기 쉽지만 현재 세션 내부에서만 고유합니다. 쉼표로 구분하여 하나 이상의 ID를 입력할 수 있습니다. 작업 ID를 찾으려면 매개 변수 없이 "Get-Job"을 입력합니다.
필수 여부 |
true |
위치 |
1 |
기본값 |
|
파이프라인 입력 적용 여부 |
true (ByPropertyName) |
와일드카드 문자 적용 여부 |
false |
-InstanceId <Guid[]>
지정된 인스턴스 ID를 가진 작업을 삭제합니다.
인스턴스 ID는 컴퓨터의 작업을 고유하게 식별하는 GUID입니다. 작업의 인스턴스 ID를 찾으려면 Get-Job을 사용하거나 작업 개체를 표시합니다.
필수 여부 |
false |
위치 |
1 |
기본값 |
|
파이프라인 입력 적용 여부 |
true (ByPropertyName) |
와일드카드 문자 적용 여부 |
false |
-Job <Job[]>
삭제할 작업을 지정합니다. 작업이 포함된 변수나 작업을 가져오는 명령을 입력하십시오. 또한 파이프라인 연산자를 사용하여 작업을 Remove-Job cmdlet으로 전송할 수 있습니다.
필수 여부 |
true |
위치 |
1 |
기본값 |
|
파이프라인 입력 적용 여부 |
true (ByValue, ByPropertyName) |
와일드카드 문자 적용 여부 |
false |
-Name <string[]>
지정된 이름의 작업만 삭제합니다. 와일드카드를 사용할 수 있습니다.
이름이 세션 내에서도 반드시 고유하지는 않으므로 이름으로 작업을 삭제하는 경우 WhatIf 및 Confirm 매개 변수를 사용하십시오.
필수 여부 |
false |
위치 |
1 |
기본값 |
|
파이프라인 입력 적용 여부 |
true (ByPropertyName) |
와일드카드 문자 적용 여부 |
true |
-State <JobState>
지정된 상태의 작업만 삭제합니다. 유효한 값은 NotStarted, Running, Completed, Stopped, Failed 및 Blocked입니다. Running 상태인 작업을 삭제하려면 Force 매개 변수를 사용합니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
true (ByPropertyName) |
와일드카드 문자 적용 여부 |
false |
-Confirm
명령을 실행하기 전에 확인 메시지를 표시합니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-WhatIf
명령을 실제로 실행하지 않고도 명령이 실행될 경우 발생할 수 있는 현상을 설명합니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
<CommonParameters>
이 cmdlet은 -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, -OutVariable 등의 일반 매개 변수를 지원합니다. 자세한 내용은 about_Commonparameters.
입력 및 출력
입력 유형은 cmdlet으로 파이프할 수 있는 개체의 유형입니다. 반환 유형은 cmdlet에서 반환되는 개체의 유형입니다.
입력 |
System.Management.Automation.Job 작업 개체를 Remove-Job으로 파이프할 수 있습니다. |
출력 |
없음 이 cmdlet은 어떠한 출력도 생성하지 않습니다. |
예 1
C:\PS>$batch = get-job -name BatchJob C:\PS> $batch | remove-job 설명 ----------- 이들 명령은 BatchJob이라는 백그라운드 작업을 현재 세션에서 삭제합니다. 첫 번째 명령은 Get-Job cmdlet을 사용하여 작업을 나타내는 개체를 가져온 다음 $batch 변수에 해당 작업을 저장합니다. 두 번째 명령은 파이프라인 연산자(|)를 사용하여 작업을 Remove-Job cmdlet으로 보냅니다. 이 명령은 Remove-Job의 Job 매개 변수를 사용하는 것과 같습니다(예: "remove-job -job $batch").
예 2
C:\PS>get-job | remove-job 설명 ----------- 이 명령은 현재 세션의 모든 작업을 삭제합니다.
예 3
C:\PS>remove-job -state NotStarted 설명 ----------- 이 명령은 현재 세션에서 아직 시작되지 않은 모든 작업을 삭제합니다.
예 4
C:\PS>remove-job -name *batch -force 설명 ----------- 이 명령은 현재 세션에서 "batch"로 끝나는 이름의 모든 작업을 삭제합니다. 여기에는 실행 중인 작업도 포함됩니다. 이 명령은 Remove-Job의 Name 매개 변수를 사용하여 작업 이름 패턴을 지정하고 Force 매개 변수를 사용하여 진행 중인 작업을 비롯한 모든 작업이 제거되도록 합니다.
예 5
C:\PS>$j = invoke-command -computername Server01 -scriptblock {get-process} -asJob C:\PS> $j | remove-job 설명 ----------- 이 예에서는 Remove-Job cmdlet을 사용하여 Invoke-Command cmdlet의 AsJob 매개 변수를 통해 원격 컴퓨터에서 시작된 작업을 제거하는 방법을 보여 줍니다. 첫 번째 명령은 Invoke-Command cmdlet을 사용하여 Server01 컴퓨터에서 작업을 실행합니다. 이 명령은 AsJob 매개 변수를 사용하여 백그라운드 작업으로 명령을 실행하고 결과 작업 개체를 $j 변수에 저장합니다. 이 명령이 AsJob 매개 변수를 사용했기 때문에 작업이 원격 컴퓨터에서 실행되는 경우에도 작업 개체가 로컬 컴퓨터에 만들어집니다. 따라서 로컬 명령을 사용하여 작업을 관리합니다. 두 번째 명령은 Remove-Job cmdlet을 사용하여 작업을 제거합니다. 이 명령은 파이프라인 연산자(|)를 사용하여 $j의 작업을 Remove-Job으로 보냅니다. 이 명령은 로컬 명령입니다. 원격 명령은 AsJob 매개 변수를 사용하여 시작된 작업을 제거하는 데 필요하지 않습니다.
예 6
C:\PS>$s = new-pssession -computername Server01 C:\PS> invoke-command -session $s -scriptblock {start-job -scriptblock {get-process} -name MyJob} C:\PS> invoke-command -session $s -scriptblock {remove-job -name MyJob} 설명 ----------- 이 예에서는 Invoke-Command를 사용하여 시작된 작업을 제거하고 Start-Job 명령을 실행하는 방법을 보여 줍니다. 이 경우 작업 개체가 원격 컴퓨터에 만들어지므로 원격 명령을 사용하여 작업을 관리합니다. 첫 번째 명령은 New-PSSession cmdlet을 사용하여 Server01 컴퓨터에 PSSession(영구 연결)을 만듭니다. 영구 연결은 Start-Job 명령을 원격으로 실행할 때 필요합니다. 이 명령은 PSSession을 $s 변수에 저장합니다. 두 번째 명령은 Invoke-Command cmdlet을 사용하여 $s의 PSSession에서 Start-Job 명령을 실행합니다. 이 작업은 Get-Process 명령을 실행합니다. 또한 Start-Job의 Name 매개 변수를 사용하여 작업의 이름을 지정합니다. 세 번째 명령은 Invoke-Command cmdlet을 사용하여 $s의 PSSession에서 Remove-Job 명령을 실행합니다. 이 명령은 Remove-Job의 Name 매개 변수를 사용하여 삭제할 작업을 식별합니다.
예 7
C:\PS>$j = start-job -script {get-process powershell} C:\PS> $j | format-list -property * C:\PS> remove-job -instanceID dce2ee73-f8c9-483e-bdd7-a549d8687eed C:\PS> $j = start-job -script {get-process powershell} C:\PS> $j | format-list -property * HasMoreData : False StatusMessage : Location : localhost Command : get-process powershell JobStateInfo : Failed Finished : System.Threading.ManualResetEvent InstanceId : dce2ee73-f8c9-483e-bdd7-a549d8687eed Id : 1 Name : Job1 ChildJobs : {Job2} Output : {} Error : {} Progress : {} Verbose : {} Debug : {} Warning : {} StateChanged : C:\PS> remove-job -instanceID dce2ee73-f8c9-483e-bdd7-a549d8687eed 설명 ----------- 이 예에서는 인스턴스 ID에 따라 작업을 제거하는 방법을 보여 줍니다. 첫 번째 명령은 Start-Job cmdlet을 사용하여 백그라운드 작업을 시작합니다. 이 명령은 결과 작업 개체를 $j 변수에 저장합니다. 두 번째 명령은 파이프라인 연산자(|)를 사용하여 $j의 작업 개체를 Format-List 명령으로 보냅니다. Format-List 명령은 모든 것을 나타내는 * 값과 함께 Property 매개 변수를 사용하여 작업 개체의 모든 속성을 목록으로 표시합니다. 작업 개체 표시에서는 개체의 다른 속성과 함께 ID 및 InstanceID 속성의 값을 보여 줍니다. 세 번째 명령은 Remove-Job 명령을 사용하여 현재 세션에서 작업을 제거합니다. 명령을 생성하려면 개체 표시에서 InstanceID 값을 복사하고 붙여 넣을 수 있습니다. Windows PowerShell 콘솔에서 값을 복사하려면 마우스를 사용하여 값을 선택한 다음 Enter 키를 눌러 복사합니다. 값을 붙여 넣으려면 마우스 오른쪽 단추를 클릭합니다.
참고 항목