다음을 통해 공유


Start-Job

PowerShell 백그라운드 작업을 시작합니다.

구문

Start-Job
     [-Name <String>]
     [-ScriptBlock] <ScriptBlock>
     [-Credential <PSCredential>]
     [-Authentication <AuthenticationMechanism>]
     [[-InitializationScript] <ScriptBlock>]
     [-WorkingDirectory <String>]
     [-RunAs32]
     [-PSVersion <Version>]
     [-InputObject <PSObject>]
     [-ArgumentList <Object[]>]
     [<CommonParameters>]
Start-Job
     [-DefinitionName] <String>
     [[-DefinitionPath] <String>]
     [[-Type] <String>]
     [-WorkingDirectory <String>]
     [<CommonParameters>]
Start-Job
     [-Name <String>]
     [-Credential <PSCredential>]
     [-FilePath] <String>
     [-Authentication <AuthenticationMechanism>]
     [[-InitializationScript] <ScriptBlock>]
     [-WorkingDirectory <String>]
     [-RunAs32]
     [-PSVersion <Version>]
     [-InputObject <PSObject>]
     [-ArgumentList <Object[]>]
     [<CommonParameters>]
Start-Job
     [-Name <String>]
     [-Credential <PSCredential>]
     -LiteralPath <String>
     [-Authentication <AuthenticationMechanism>]
     [[-InitializationScript] <ScriptBlock>]
     [-WorkingDirectory <String>]
     [-RunAs32]
     [-PSVersion <Version>]
     [-InputObject <PSObject>]
     [-ArgumentList <Object[]>]
     [<CommonParameters>]

Description

Start-Job cmdlet은 로컬 컴퓨터에서 PowerShell 백그라운드 작업을 시작합니다.

PowerShell 백그라운드 작업은 현재 세션과 상호 작용하지 않고 명령을 실행합니다. 백그라운드 작업을 시작하면 작업이 완료되는 데 시간이 연장되더라도 작업 개체가 즉시 반환됩니다. 작업이 실행되는 동안 중단 없이 세션에서 계속 작업할 수 있습니다.

작업 개체에는 작업에 대한 유용한 정보가 포함되어 있지만 작업 결과는 포함되지 않습니다. 작업이 완료되면 Receive-Job cmdlet을 사용하여 작업 결과를 가져옵니다. 백그라운드 작업에 대한 자세한 내용은 about_Jobs참조하세요.

원격 컴퓨터에서 백그라운드 작업을 실행하려면 많은 cmdlet에서 사용할 수 있는 AsJob 매개 변수를 사용하거나 Invoke-Command cmdlet을 사용하여 원격 컴퓨터에서 Start-Job 명령을 실행합니다. 자세한 내용은 about_Remote_Jobs참조하세요.

PowerShell 3.0부터 Start-Job 예약된 작업과 같은 사용자 지정 작업 유형의 인스턴스를 시작할 수 있습니다. Start-Job 사용하여 사용자 지정 형식으로 작업을 시작하는 방법에 대한 자세한 내용은 작업 유형 기능에 대한 도움말 문서를 참조하세요.

PowerShell 6.0부터 앰퍼샌드(&) 백그라운드 연산자를 사용하여 작업을 시작할 수 있습니다. 백그라운드 연산자의 기능은 Start-Job비슷합니다. 작업을 시작하는 두 방법 모두 PSRemotingJob 작업 개체를 만듭니다. 앰퍼샌드(&)를 사용하는 방법에 대한 자세한 내용은 about_Operators참조하세요.

PowerShell 7에서는 백그라운드 작업의 초기 작업 디렉터리를 지정하는 WorkingDirectory 매개 변수를 도입했습니다. 매개 변수를 지정하지 않으면 Start-Job 기본적으로 작업을 시작한 호출자의 현재 작업 디렉터리로 설정됩니다.

메모

PowerShell이 PowerShell Azure Functions와 같은 다른 애플리케이션에서 호스트되는 시나리오에서는 Start-Job 사용하여 out-of-process 백그라운드 작업을 만드는 것이 지원되지 않습니다.

이것은 설계상 Start-Job가 음영 처리 방식으로 실행되는 백그라운드 작업을 시작하기 위해 pwsh에서 사용할 수 있는 $PSHOME 실행 파일에 의존하기 때문입니다. 그러나 애플리케이션이 PowerShell을 호스팅하는 경우에는 PowerShell NuGet SDK 패키지를 직접 사용하며, pwsh는 함께 제공되지 않습니다.

이 시나리오의 대체품은 모듈 Start-ThreadJob입니다.

예제

예제 1: 백그라운드 작업 시작

다음은 로컬 컴퓨터에서 실행되는 백그라운드 작업을 시작하는 예제입니다.

Start-Job -ScriptBlock { Get-Process -Name pwsh }

Id  Name   PSJobTypeName   State     HasMoreData   Location    Command
--  ----   -------------   -----     -----------   --------    -------
1   Job1   BackgroundJob   Running   True          localhost   Get-Process -Name pwsh

Start-Job ScriptBlock 매개 변수를 사용하여 백그라운드 작업으로 Get-Process 실행합니다. Name 매개 변수는 pwshPowerShell 프로세스를 찾기 위해 지정합니다. 작업이 백그라운드에서 실행되는 동안 작업 정보가 표시되고 PowerShell이 프롬프트로 돌아갑니다.

작업의 출력을 보려면 Receive-Job cmdlet을 사용합니다. 예를 들어 Receive-Job -Id 1.

예제 2: 백그라운드 연산자를 사용하여 백그라운드 작업 시작

이 예제에서는 앰퍼샌드(&) 백그라운드 연산자를 사용하여 로컬 컴퓨터에서 백그라운드 작업을 시작합니다. 이 작업은 예제 1의 Start-Job 동일한 결과를 가져옵니다.

Get-Process -Name pwsh &

Id    Name   PSJobTypeName   State       HasMoreData     Location      Command
--    ----   -------------   -----       -----------     --------      -------
5     Job5   BackgroundJob   Running     True            localhost     Microsoft.PowerShell.Man...

Get-Process Name 매개 변수를 사용하여 pwshPowerShell 프로세스를 지정합니다. 앰퍼샌드(&)는 명령을 백그라운드 작업으로 실행합니다. 작업이 백그라운드에서 실행되는 동안 작업 정보가 표시되고 PowerShell이 프롬프트로 돌아갑니다.

작업의 출력을 보려면 Receive-Job cmdlet을 사용합니다. 예를 들어 Receive-Job -Id 5.

예제 3: Invoke-Command 사용하여 작업 시작

이 예제에서는 여러 컴퓨터에서 작업을 실행합니다. 작업은 변수에 저장되고 PowerShell 명령줄의 변수 이름을 사용하여 실행됩니다.

$jobWRM = Invoke-Command -ComputerName (Get-Content -Path C:\Servers.txt) -ScriptBlock {
   Get-Service -Name WinRM } -JobName WinRM -ThrottleLimit 16 -AsJob

Invoke-Command 사용하는 작업이 만들어지고 $jobWRM 변수에 저장됩니다. Invoke-Command ComputerName 매개 변수를 사용하여 작업이 실행되는 컴퓨터를 지정합니다. Get-Content C:\Servers.txt 파일에서 서버 이름을 가져옵니다.

ScriptBlock 매개 변수는 Get-ServiceWinRM 서비스를 가져오는 명령을 지정합니다. JobName 매개 변수는 WinRM작업의 사용자 친화적인 이름을 지정합니다. ThrottleLimit 매개 변수는 동시 명령 수를 16으로 제한합니다. AsJob 매개 변수는 서버에서 명령을 실행하는 백그라운드 작업을 시작합니다.

예제 4: 작업 정보 가져오기

이 예제에서는 작업에 대한 정보를 가져오고 로컬 컴퓨터에서 실행된 완료된 작업의 결과를 표시합니다.

$j = Start-Job -ScriptBlock { Get-WinEvent -Log System } -Credential Domain01\User01
$j | Select-Object -Property *

State         : Completed
HasMoreData   : True
StatusMessage :
Location      : localhost
Command       : Get-WinEvent -Log System
JobStateInfo  : Completed
Finished      : System.Threading.ManualResetEvent
InstanceId    : 27ce3fd9-40ed-488a-99e5-679cd91b9dd3
Id            : 18
Name          : Job18
ChildJobs     : {Job19}
PSBeginTime   : 8/8/2019 14:41:57
PSEndTime     : 8/8/2019 14:42:07
PSJobTypeName : BackgroundJob
Output        : {}
Error         : {}
Progress      : {}
Verbose       : {}
Debug         : {}
Warning       : {}
Information   : {}

Start-JobScriptBlock 매개 변수를 사용하여 Get-WinEvent 지정하여 시스템 로그를 가져오는 명령을 실행합니다. 자격 증명 매개 변수는 컴퓨터에서 작업을 실행할 수 있는 권한이 있는 도메인 사용자 계정을 지정합니다. 작업 개체는 $j 변수에 저장됩니다.

$j 변수의 개체가 파이프라인을 따라 Select-Object로 전송됩니다. Property 매개 변수는 모든 작업 개체의 속성을 표시하는 별표(*)를 지정합니다.

예제 5: 스크립트를 백그라운드 작업으로 실행

이 예제에서는 로컬 컴퓨터의 스크립트가 백그라운드 작업으로 실행됩니다.

Start-Job -FilePath C:\Scripts\Sample.ps1

Start-Job FilePath 매개 변수를 사용하여 로컬 컴퓨터에 저장된 스크립트 파일을 지정합니다.

예제 6: 백그라운드 작업을 사용하여 프로세스 가져오기

이 예제에서는 백그라운드 작업을 사용하여 이름으로 지정된 프로세스를 가져옵니다.

Start-Job -Name PShellJob -ScriptBlock { Get-Process -Name PowerShell }

Start-Job Name 매개 변수를 사용하여 PShellJob 친숙한 작업 이름을 지정합니다. ScriptBlock 매개 변수는 이름이 powerShell Get-Process프로세스를 가져올 지정합니다.

예제 7: 백그라운드 작업을 사용하여 데이터 수집 및 저장

다음은 많은 양의 지도 데이터를 수집한 다음 .tif 파일에 저장하는 작업을 시작하는 예제입니다.

Start-Job -Name GetMappingFiles -InitializationScript {Import-Module -Name MapFunctions} -ScriptBlock {
   Get-Map -Name * | Set-Content -Path D:\Maps.tif }

Start-Job Name 매개 변수를 사용하여 GetMappingFiles 친숙한 작업 이름을 지정합니다. InitializationScript 매개 변수는 MapFunctions 모듈을 가져오는 스크립트 블록을 실행합니다. ScriptBlock 매개 변수는 Get-Map 실행되고 Set-ContentPath 매개 변수로 지정된 위치에 데이터를 저장합니다.

예제 8: 백그라운드 작업에 입력 전달

이 예제에서는 $input 자동 변수를 사용하여 입력 개체를 처리합니다. Receive-Job 사용하여 작업의 출력을 봅니다.

Start-Job -ScriptBlock { Get-Content -Path $input } -InputObject "C:\Servers.txt"
Receive-Job -Name Job45 -Keep

Server01
Server02
Server03
Server04

Start-Job ScriptBlock 매개 변수를 사용하여 Get-Content 자동 변수로 $input 실행합니다. $input 변수는 InputObject 매개 변수에서 개체를 가져옵니다. Receive-Job Name 매개 변수를 사용하여 작업을 지정하고 결과를 출력합니다. Keep 매개 변수는 PowerShell 세션 중에 다시 볼 수 있도록 작업 출력을 저장합니다.

예제 9: 백그라운드 작업에 대한 작업 디렉터리 설정

WorkingDirectory 사용하면 스크립트를 실행하거나 파일을 열 수 있는 작업에 대한 대체 디렉터리를 지정할 수 있습니다. 이 예제에서 백그라운드 작업은 현재 디렉터리 위치와 다른 작업 디렉터리를 지정합니다.

PS C:\Test> Start-Job -WorkingDirectory C:\Test\Scripts { $PWD } | Receive-Job -AutoRemoveJob -Wait

Path
----
C:\Test\Scripts

이 예제의 현재 작업 디렉터리가 C:\Test. Start-Job WorkingDirectory 매개 변수를 사용하여 작업의 작업 디렉터리를 지정합니다. ScriptBlock 매개 변수는 $PWD 사용하여 작업의 작업 디렉터리를 표시합니다. Receive-Job 백그라운드 작업의 출력을 표시합니다. AutoRemoveJob 작업을 삭제하고 Wait 모든 결과가 수신될 때까지 명령 프롬프트를 표시하지 않습니다.

예제 10: ArgumentList 매개 변수를 사용하여 배열 지정

이 예제에서는 ArgumentList 매개 변수를 사용하여 인수 배열을 지정합니다. 배열은 프로세스 이름의 쉼표로 구분된 목록입니다.

Start-Job -ScriptBlock { Get-Process -Name $args } -ArgumentList powershell, pwsh, notepad

Id     Name      PSJobTypeName   State       HasMoreData     Location     Command
--     ----      -------------   -----       -----------     --------     -------
1      Job1      BackgroundJob   Running     True            localhost    Get-Process -Name $args

Start-Job cmdlet은 ScriptBlock 매개 변수를 사용하여 명령을 실행합니다. Get-Process Name 매개 변수를 사용하여 자동 변수 $args지정합니다. ArgumentList 매개 변수는 프로세스 이름의 배열을 $args전달합니다. 프로세스 이름 powershell, pwsh 및 메모장 로컬 컴퓨터에서 실행 중인 프로세스입니다.

작업의 출력을 보려면 Receive-Job cmdlet을 사용합니다. 예를 들어 Receive-Job -Id 1.

예제 11: Windows PowerShell 5.1에서 작업 실행

이 예제에서는 값이 5.1PSVersion 매개 변수를 사용하여 Windows PowerShell 5.1 세션에서 작업을 실행합니다.

$PSVersionTable.PSVersion

Major  Minor  Patch  PreReleaseLabel BuildLabel
-----  -----  -----  --------------- ----------
7      0      0      rc.1

$job = Start-Job -ScriptBlock { $PSVersionTable.PSVersion } -PSVersion 5.1
Receive-Job -Job $job

Major  Minor  Build  Revision
-----  -----  -----  --------
5      1      14393  3383

매개 변수

-ArgumentList

FilePath 매개 변수로 지정된 스크립트 또는 ScriptBlock 매개 변수로 지정된 명령에 대해 인수 또는 매개 변수 값의 배열을 지정합니다.

인수는 ArgumentList 1차원 배열 인수로 전달되어야 합니다. 예를 들어 쉼표로 구분된 목록입니다. ArgumentList동작에 대한 자세한 내용은 about_Splatting참조하세요.

형식:Object[]
별칭:Args
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Authentication

사용자 자격 증명을 인증하는 데 사용되는 메커니즘을 지정합니다.

이 매개 변수에 허용되는 값은 다음과 같습니다.

  • 기본값
  • 기본
  • Credssp
  • 소화하다
  • Kerberos
  • 교섭하다
  • 암묵적 자격 증명으로 협상하기

기본값은 Default입니다.

CredSSP 인증은 Windows Vista, Windows Server 2008 이상 버전의 Windows 운영 체제에서만 사용할 수 있습니다.

이 매개 변수의 값에 대한 자세한 내용은 AuthenticationMechanism참조하세요.

주의

사용자의 자격 증명이 인증될 원격 컴퓨터에 전달되는 CredSSP(자격 증명 보안 지원 공급자) 인증은 원격 네트워크 공유 액세스와 같이 둘 이상의 리소스에 대한 인증이 필요한 명령을 위해 설계되었습니다. 이 메커니즘은 원격 작업의 보안 위험을 높입니다. 원격 컴퓨터가 손상된 경우 이 컴퓨터에 전달된 자격 증명을 사용하여 네트워크 세션을 제어할 수 있습니다.

형식:AuthenticationMechanism
허용되는 값:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Position:Named
Default value:Default
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Credential

이 작업을 수행할 수 있는 권한이 있는 사용자 계정을 지정합니다. 자격 증명 매개 변수가 지정되지 않은 경우 명령은 현재 사용자의 자격 증명을 사용합니다.

User01 또는 Domain01\User01같은 사용자 이름을 입력하거나 cmdlet에서 생성된 Get-Credential 개체를 입력합니다. 사용자 이름을 입력하면 암호를 입력하라는 메시지가 표시됩니다.

자격 증명은 PSCredential 개체에 저장되고 암호는 SecureString저장됩니다.

메모

SecureString 데이터 보호에 대한 자세한 내용은 SecureString이 얼마나 안전한가요?.

형식:PSCredential
Position:Named
Default value:Current user
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-DefinitionName

이 cmdlet이 시작하는 작업의 정의 이름을 지정합니다. 이 매개 변수를 사용하여 예약된 작업과 같은 정의 이름을 가진 사용자 지정 작업 유형을 시작합니다.

Start-Job 사용하여 예약된 작업의 인스턴스를 시작하면 작업 트리거 또는 작업 옵션에 관계없이 작업이 즉시 시작됩니다. 결과 작업 인스턴스는 예약된 작업이지만 트리거된 예약된 작업과 같이 디스크에 저장되지 않습니다. Start-Job 매개 변수를 사용하여 예약된 작업에서 실행되는 스크립트의 매개 변수에 대한 값을 제공할 수 없습니다.

이 매개 변수는 PowerShell 3.0에서 도입되었습니다.

형식:String
Position:0
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-DefinitionPath

이 cmdlet이 시작하는 작업에 대한 정의 경로를 지정합니다. 정의 경로를 입력합니다. DefinitionPathDefinitionName 매개 변수 값의 연결은 작업 정의의 정규화된 경로입니다. 이 매개 변수를 사용하여 예약된 작업과 같은 정의 경로가 있는 사용자 지정 작업 유형을 시작합니다.

예약된 작업의 경우 DefinitionPath 매개 변수의 값은 $HOME\AppData\Local\Windows\PowerShell\ScheduledJob.

이 매개 변수는 PowerShell 3.0에서 도입되었습니다.

형식:String
Position:1
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-FilePath

백그라운드 작업으로 실행되는 Start-Job 로컬 스크립트를 지정합니다. 스크립트의 경로 및 파일 이름을 입력하거나 파이프라인을 사용하여 스크립트 경로를 Start-Job으로 전송하십시오. 스크립트는 로컬 컴퓨터 또는 로컬 컴퓨터에서 액세스할 수 있는 폴더에 있어야 합니다.

이 매개 변수를 사용하는 경우 PowerShell은 지정된 스크립트 파일의 내용을 스크립트 블록으로 변환하고 스크립트 블록을 백그라운드 작업으로 실행합니다.

형식:String
Position:0
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-InitializationScript

작업이 시작되기 전에 실행되는 명령을 지정합니다. 스크립트 블록을 만들려면 명령을 중괄호({})로 묶습니다.

이 매개 변수를 사용하여 작업이 실행되는 세션을 준비합니다. 예를 들어 함수, 스냅인 및 모듈을 세션에 추가하는 데 사용할 수 있습니다.

형식:ScriptBlock
Position:1
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-InputObject

명령에 대한 입력을 지정합니다. 개체가 포함된 변수를 입력하거나 개체를 생성하는 명령이나 식을 입력합니다.

ScriptBlock 매개 변수 값에서 $input 자동 변수를 사용하여 입력 개체를 나타냅니다.

형식:PSObject
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-LiteralPath

이 cmdlet이 백그라운드 작업으로 실행되는 로컬 스크립트를 지정합니다. 로컬 컴퓨터에서 스크립트의 경로를 입력합니다.

Start-Job LiteralPath 매개 변수의 값을 입력된 것과 정확하게 사용합니다. 와일드카드 문자로 해석되는 문자는 없습니다. 경로에 이스케이프 문자가 포함된 경우 작은따옴표로 묶습니다. 작은따옴표는 PowerShell에 문자를 이스케이프 시퀀스로 해석하지 않도록 지시합니다.

형식:String
별칭:PSPath, LP
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Name

새 작업을 위한 직관적인 이름을 지정합니다. Stop-Job cmdlet과 같은 다른 작업 cmdlet을 식별하기 위해 이 이름을 사용할 수 있습니다.

기본 친화 이름은 Job#이며, 여기서 #은 각 작업에 대해 증가하는 서수입니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-PSVersion

작업 실행에 사용할 PowerShell 버전을 지정합니다. PSVersion 값이 5.1인 작업은 Windows PowerShell 5.1 세션에서 실행됩니다. 다른 값의 경우 작업은 현재 버전의 PowerShell을 사용하여 실행됩니다.

이 매개 변수는 PowerShell 7에 추가되었으며 Windows에서만 작동합니다.

형식:Version
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-RunAs32

PowerShell 7부터 RunAs32 매개 변수는 64비트 PowerShell(pwsh)에서 작동하지 않습니다. 64비트 PowerShell에서 RunAs32가 지정되면 Start-Job가 종료 예외 오류를 발생시킵니다. pwsh32비트 PowerShell() 프로세스를 시작하려면 32비트 PowerShell을 설치해야 합니다.

32비트 PowerShell에서 RunAs32 64비트 운영 체제에서도 32비트 프로세스에서 작업을 실행하도록 강제합니다.

Windows 7 및 Windows Server 2008 R2의 64비트 버전에서 Start-Job 명령에 RunAs32 매개 변수가 포함된 경우 자격 증명 매개 변수를 사용하여 다른 사용자의 자격 증명을 지정할 수 없습니다.

형식:SwitchParameter
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ScriptBlock

백그라운드 작업에서 실행할 명령을 지정합니다. 스크립트 블록을 만들려면 명령을 중괄호({})로 묶습니다. $input 자동 변수를 사용하여 InputObject 매개 변수의 값에 액세스합니다. 이 매개 변수는 필수입니다.

형식:ScriptBlock
별칭:Command
Position:0
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Type

Start-Job시작 작업에 대한 사용자 지정 형식을 지정합니다. 예약된 작업의 경우 PSScheduledJob, 워크플로 작업의 경우 PSWorkflowJob과 같은 사용자 지정 작업 유형 이름을 입력합니다. 이 매개 변수는 표준 백그라운드 작업에 유효하지 않습니다.

이 매개 변수는 PowerShell 3.0에서 도입되었습니다.

형식:String
Position:2
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-WorkingDirectory

백그라운드 작업의 초기 작업 디렉터리를 지정합니다. 매개 변수를 지정하지 않으면 작업이 기본 위치에서 실행됩니다. 기본 위치는 작업을 시작한 호출자의 현재 작업 디렉터리입니다.

이 매개 변수는 PowerShell 7에서 도입되었습니다.

형식:String
Position:Named
Default value:$HOME on Unix (macOS, Linux) and $HOME\Documents on Windows
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

입력

String

Name 속성을 가진 개체를 이 cmdlet에 Name 매개 변수로 파이프할 수 있습니다. 예를 들어 FileInfo 개체를 Get-ChildItem에서 파이프로 사용할 수 있습니다.

출력

System.Management.Automation.PSRemotingJob

이 cmdlet은 시작한 작업을 나타내는 PSRemotingJob 개체를 반환합니다.

참고

PowerShell에는 Start-Job다음과 같은 별칭이 포함되어 있습니다.

  • 모든 플랫폼:
    • sajb

백그라운드에서 실행하려면 Start-Job 현재 세션의 자체 세션에서 실행됩니다. Invoke-Command cmdlet을 사용하여 원격 컴퓨터의 세션에서 Start-Job 명령을 실행하는 경우 Start-Job 원격 세션의 세션에서 실행됩니다.