Start-Job

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

Syntax

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

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

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

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

원격 컴퓨터 에서 백그라운드 작업을 실행하려면 많은 cmdlet에서 사용할 수 있는 AsJob 매개 변수를 사용하거나 cmdlet을 사용하여 Invoke-Command 원격 컴퓨터에서 명령을 실행 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 백그라운드 작업을 만드는 것이 지원되지 않습니다.

이는 Out-of-process 백그라운드 작업을 시작하기 위해 사용할 수 있는 $PSHOME 실행 파일에 따라 달라 pwsh 지지만 애플리케이션이 PowerShell을 호스팅하는 경우 PowerShell NuGet SDK 패키지를 직접 사용하고 함께 제공되지 않기 pwsh 때문 Start-Job 입니다.

이 시나리오의 대체는 Start-ThreadJob 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-JobScriptBlock 매개 변수를 사용하여 백그라운드 작업으로 실행 Get-Process 합니다. Name 매개 변수는 PowerShell 프로세스를 pwsh찾기 위해 지정합니다. 작업이 백그라운드에서 실행되는 동안 작업 정보가 표시되고 PowerShell이 프롬프트로 돌아갑니다.

작업의 출력을 보려면 cmdlet을 Receive-Job 사용합니다. 예들 들어 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 매개 변수를 사용하여 PowerShell 프로세스를 지정합니다 pwsh. 앰퍼샌드(&)는 명령을 백그라운드 작업으로 실행합니다. 작업이 백그라운드에서 실행되는 동안 작업 정보가 표시되고 PowerShell이 프롬프트로 돌아갑니다.

작업의 출력을 보려면 cmdlet을 Receive-Job 사용합니다. 예들 들어 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-CommandComputerName 매개 변수를 사용하여 작업이 실행되는 컴퓨터를 지정합니다. Get-Content 파일에서 C:\Servers.txt 서버 이름을 가져옵니다.

ScriptBlock 매개 변수는 WinRM 서비스를 가져오는 명령을 Get-Service 지정합니다. 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. 자격 증명 매개 변수는 컴퓨터에서 작업을 실행할 수 있는 권한이 있는 do기본 사용자 계정을 지정합니다. 작업 개체는 변수에 $j 저장됩니다.

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

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

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

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

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

예제 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 매개 변수는 Path 매개 변수로 지정된 위치에 데이터를 실행하고 Get-MapSet-Content 저장합니다.

예제 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-JobName 매개 변수를 사용하여 작업을 지정하고 결과를 출력합니다. 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-JobWorkingDirectory 매개 변수를 사용하여 작업의 작업 디렉터리를 지정합니다. 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

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

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

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

이 예제에서는 값이 5.1인 PSVersion 매개 변수를 사용하여 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 매개 변수로 지정된 명령으로 지정된 스크립트에 대한 인수 또는 매개 변수 값의 배열을 지정합니다.

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

Type:Object[]
Aliases:Args
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Authentication

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

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

  • 기본값
  • 기본
  • Credssp
  • 다이제스트
  • Kerberos
  • Negotiate
  • NegotiateWithImplicitCredential

기본값은 Default입니다.

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

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

주의

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

Type:AuthenticationMechanism
Accepted values:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Position:Named
Default value:Default
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

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

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

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

참고 항목

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

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefinitionName

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

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

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

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-DefinitionPath

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

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

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

Type:String
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FilePath

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

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

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-InitializationScript

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

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

Type:ScriptBlock
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

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

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

Type:PSObject
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-LiteralPath

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

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

Type:String
Aliases:PSPath, LP
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Name

새 작업의 이름을 지정합니다. 이 이름을 사용하여 cmdlet과 같은 다른 작업 cmdlet에 대한 작업을 식별할 Stop-Job 수 있습니다.

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-PSVersion

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

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

Type:Version
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RunAs32

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

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

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

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ScriptBlock

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

Type:ScriptBlock
Aliases:Command
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Type

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

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

Type:String
Position:2
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WorkingDirectory

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

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

Type:String
Position:Named
Default value:$HOME on Unix (macOS, Linux) and $HOME\Documents on Windows
Required:False
Accept pipeline input:False
Accept wildcard characters:False

입력

String

Name 속성이 있는 개체를 Name 매개 변수로 이 cmdlet으로 파이프할 수 있습니다. 예를 들어 .에서 Get-ChildItemFileInfo 개체를 파이프할 수 있습니다.

출력

System.Management.Automation.PSRemotingJob

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

참고

PowerShell에는 다음 별칭이 포함됩니다.Start-Job

  • 모든 플랫폼:
    • sajb

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