about_Remote_Disconnected_Sessions

간단한 설명

PowerShell 세션(PSSession)의 연결을 끊고 다시 연결하는 방법을 설명합니다.

자세한 설명

PowerShell 3.0부터 PSSession에서 연결을 끊고 동일한 컴퓨터 또는 다른 컴퓨터에서 PSSession에 다시 연결할 수 있습니다. 세션 상태가 기본 상태이며 세션 연결이 끊어지는 동안 PSSession의 명령이 계속 실행됩니다.

연결이 끊긴 세션 기능을 사용하면 PSSession이 만들어진 세션을 닫고 원격 PSSession에서 실행되는 명령을 방해하지 않고 컴퓨터를 종료할 수 있습니다. 연결이 끊긴 세션은 완료하는 데 시간이 오래 걸리는 명령을 실행하는 데 유용합니다.

cmdlet을 사용하여 시작된 대화형 세션에서 연결을 끊을 Enter-PSSession 수 없습니다.

연결이 끊긴 세션을 사용하여 컴퓨터 또는 네트워크 중단으로 인해 의도치 않게 연결이 끊긴 PSSessions를 관리할 수 있습니다.

연결이 끊긴 세션 cmdlet

다음 cmdlet은 연결이 끊긴 세션 기능을 지원합니다.

  • Connect-PSSession: 연결이 끊긴 PSSession에 커넥트.
  • Disconnect-PSSession: PSSession의 연결을 끊습니다.
  • Get-PSSession: 로컬 컴퓨터 또는 원격 컴퓨터에서 PSSessions를 가져옵니다.
  • Receive-PSSession: 연결이 끊긴 세션에서 실행된 명령의 결과를 가져옵니다.
  • Invoke-Command: InDisconnectedSession 매개 변수는 PSSession을 만들고 즉시 연결을 끊습니다.

연결이 끊긴 세션 기능의 작동 방식

PowerShell 3.0부터 PSSessions는 생성된 세션과 독립적입니다. 클라이언트 쪽 컴퓨터가 종료되거나 네트워크에서 연결이 끊긴 경우에도 활성 PSSessions는 연결의 원격 컴퓨터 또는 서버 쪽에 기본.

PowerShell 2.0에서 PSSession은 원래 세션 또는 생성된 세션의 연결이 끊어지면 원격 컴퓨터에서 삭제됩니다.

PSSession의 연결을 끊으면 PSSession이 다시 활성화되고 원격 컴퓨터에서 기본 기본. 세션 상태가 실행 중에서 연결 끊김으로 변경됩니다. 연결이 끊긴 PSSession에 다시 연결할 수 있습니다.

  • 동일한 컴퓨터의 현재 세션
  • 동일한 컴퓨터의 다른 세션
  • 다른 컴퓨터의 세션에서

세션이 기본 원격 컴퓨터가 실행 중이고 네트워크에 연결되어야 합니다.

연결이 끊긴 PSSession의 명령은 명령이 완료되거나 출력 버퍼가 채워질 때까지 원격 컴퓨터에서 중단 없이 계속 실행됩니다. 전체 출력 버퍼가 명령을 일시 중단하지 않도록 하려면 , 또는 New-PSTransportOption cmdlet의 Disconnect-PSSessionOutputBufferingMode 매개 변수를 사용합니다New-PSSessionOption.

연결이 끊긴 세션은 원격 컴퓨터에서 연결이 끊긴 상태에서 기본. cmdlet을 사용 Remove-PSSession 하거나 PSSession의 유휴 시간 제한이 만료될 때까지 PSSession을 삭제할 때까지 다시 연결할 수 있습니다. 또는 cmdlet의 IdleTimeoutSec 또는 IdleTimeout 매개 변수를 사용하여 PSSession의 Disconnect-PSSessionNew-PSTransportOptionNew-PSSessionOption유휴 시간 제한을 조정할 수 있습니다.

다른 사용자는 사용자가 만든 PSSessions에 연결할 수 있지만 세션을 만드는 데 사용된 자격 증명을 제공하거나 세션 구성의 자격 증명을 사용할 RunAs 수 있는 경우에만 연결할 수 있습니다.

PSSessions를 가져오는 방법

PowerShell 3.0 Get-PSSession 부터 cmdlet은 로컬 컴퓨터 및 원격 컴퓨터에서 PSSessions를 가져옵니다. 또한 현재 세션에서 만든 PSSessions를 가져올 수도 있습니다.

로컬 컴퓨터 또는 원격 컴퓨터에서 PSSessions를 얻으려면 ComputerName 또는 커넥트ionUri 매개 변수를 사용합니다. 매개 변수 Get-PSSession 가 없으면 종료 위치에 관계없이 로컬 세션에서 만든 PSSession을 가져옵니다.

다음 예제에서는 Get-PSSession를 사용하는 방법을 보여 줍니다.

New-PSSession 는 Server01 컴퓨터에 대한 세션을 만듭니다. 세션은 Server01 컴퓨터에 상주합니다.

New-PSSession -ComputerName Server01
Id Name      ComputerName  State    ConfigurationName     Availability
-- ----      ------------  -----    -----------------     ------------
 2 Session2  Server01      Opened   Microsoft.PowerShell     Available

Server01에서 세션을 얻으려면 ComputerName 매개 변수를 사용하여 대상Get-PSSession을 지정합니다.

Get-PSSession -ComputerName Server01
Id Name      ComputerName  State    ConfigurationName     Availability
-- ----      ------------  -----    -----------------     ------------
 2 Session2  Server01      Opened   Microsoft.PowerShell     Available

ComputerName 매개 변수의 Get-PSSession 값이 localhost Get-PSSession 이면 로컬 컴퓨터에서 종료되고 기본 표시되는 PSSessions를 가져옵니다. 로컬 컴퓨터에서 시작된 경우에도 Server01 컴퓨터에서 PSSessions를 가져올 수 없습니다.

Get-PSSession -ComputerName localhost

현재 세션에서 만든 세션을 얻으려면 매개 변수 없이 cmdlet을 Get-PSSession 사용합니다. 이 예제 Get-PSSession 에서는 현재 세션에서 만든 PSSession을 가져오고 Server01 컴퓨터에 연결합니다.

Get-PSSession
Id Name      ComputerName  State    ConfigurationName     Availability
-- ----      ------------  -----    -----------------     ------------
 2 Session2  Server01      Opened   Microsoft.PowerShell     Available

세션 연결을 끊는 방법

cmdlet을 Disconnect-PSSession 사용하여 세션 연결을 끊습니다. PSSession을 식별하려면 Session 매개 변수를 사용하거나 PSSession 개체를 또는 Get-PSSession cmdlet에서 New-PSSession .로 파이프합니다Disconnect-PSSession.

다음 명령은 Server01 컴퓨터에 대한 PSSession의 연결을 끊습니다. State 속성의 값은 연결이 끊어지고 가용성None입니다.

Get-PSSession -ComputerName Server01 | Disconnect-PSSession
Id Name      ComputerName  State         ConfigurationName     Availability
-- ----      ------------  -----         -----------------     ------------
 2 Session2  Server01      Disconnected  Microsoft.PowerShell          None

연결이 끊긴 세션을 만들려면 cmdlet의 InDisconnectedSession 매개 변수를 Invoke-Command 사용합니다. 세션을 만들고, 명령을 시작하고, 명령이 출력을 반환하기 전에 즉시 연결을 끊습니다.

다음 명령은 원격 컴퓨터 Server02의 연결이 끊긴 세션에서 명령을 실행 Get-WinEvent 합니다.

Invoke-Command -ComputerName Server02 -InDisconnectedSession -ScriptBlock {
   Get-WinEvent -LogName "*PowerShell*" }
Id Name      ComputerName  State         ConfigurationName     Availability
-- ----      ------------  -----         -----------------     ------------
 4 Session3  Server02      Disconnected  Microsoft.PowerShell          None

연결이 끊긴 세션에 연결하는 방법

연결이 끊긴 세션을 연결하려면 ComputerName 또는 커넥트ionUri 매개 변수와 함께 cmdlet을 사용합니다Connect-PSSession. 또는 출력 Get-PSSession 을 .로 파이프할 Connect-PSSession수 있습니다.

다음 예제에서는 Server02 컴퓨터에서 세션을 가져옵니다. 출력에는 두 개의 연결이 끊어진 세션이 포함됩니다.

Get-PSSession -ComputerName Server02
Id Name      ComputerName   State         ConfigurationName     Availability
-- ----      ------------   -----         -----------------     ------------
 2 Session2  juneb-srv8320  Disconnected  Microsoft.PowerShell          None
 4 Session3  juneb-srv8320  Disconnected  Microsoft.PowerShell          None

다음 명령은 Session2에 연결합니다. 이제 PSSession이 열려 있으며 사용할 수 있습니다.

Connect-PSSession -ComputerName Server02 -Name Session2
Id Name      ComputerName    State    ConfigurationName     Availability
-- ----      ------------    -----    -----------------     ------------
 2 Session2  juneb-srv8320   Opened   Microsoft.PowerShell     Available

결과를 가져오는 방법

연결이 끊긴 PSSession에서 실행된 명령의 결과를 얻으려면 cmdlet을 Receive-PSSession 사용합니다.

cmdlet을 사용하는 Connect-PSSession 대신 사용할 Receive-PSSession 수 있습니다. 세션이 이미 다시 연결된 Receive-PSSession 경우 세션 연결이 끊어졌을 때 실행된 명령의 결과를 가져옵니다. PSSession의 연결이 끊긴 Receive-PSSession 경우 연결이 끊긴 상태에서 실행된 명령의 결과를 가져옵니다.

Receive-PSSession 는 작업을 비동기적으로 또는 호스트 프로그램(동기적으로)에 결과를 반환할 수 있습니다. OutTarget 매개 변수를 사용하여 작업 또는 호스트를 선택합니다. 기본값은 Host입니다. 그러나 수신 중인 명령이 현재 세션에서 작업으로 시작된 경우 기본적으로 작업으로 반환됩니다.

다음 예제에서는 cmdlet을 Receive-PSSession 사용하여 Server02의 세션에 다시 연결하고 명령의 Get-WinEvent 결과를 가져옵니다. OutTarget 매개 변수는 작업에서 결과를 가져오는 데 사용됩니다.

Receive-PSSession -ComputerName Server02 -Name Session3 -OutTarget Job
Id   Name   PSJobTypeName   State         HasMoreData     Location
--   ----   -------------   -----         -----------     --------
 3   Job3   RemoteJob       Running       True            Server02

작업의 결과를 얻으려면 cmdlet을 Receive-Job 사용합니다.

Get-Job | Receive-Job -Keep
ProviderName: PowerShell

TimeCreated             Id LevelDisplayName Message     PSComputerName
-----------             -- ---------------- -------     --------------
5/14/2012 7:26:04 PM   400 Information      Engine stat Server02
5/14/2012 7:26:03 PM   600 Information      Provider "W Server02
5/14/2012 7:26:03 PM   600 Information      Provider "C Server02
5/14/2012 7:26:03 PM   600 Information      Provider "V Server02

상태 및 가용성 속성

연결이 끊긴 PSSession의 상태가용성 속성은 세션을 다시 연결할 수 있는지 여부를 알려줍니다.

PSSession이 현재 세션에 연결되면 해당 상태가 열리 고 가용성이 제공됩니다. PSSession에서 연결을 끊으면 PSSession 상태가 연결이 끊어지고 가용성이 None입니다.

State 속성의 값은 현재 세션을 기준으로 합니다. 연결 끊김은 PSSession이 현재 세션에 연결되지 않음을 의미합니다. 그러나 PSSession이 모든 세션에서 연결이 끊어지는 것은 아닙니다. 다른 세션에 연결되어 있을 수도 있습니다.

PSSession에 연결하거나 다시 연결할 수 있는지 여부를 확인하려면 가용성 속성을 사용합니다. None은 세션에 연결할 수 있음을 나타냅니다. 사용값은 PSSession이 다른 세션에 연결되어 있으므로 연결할 수 없음을 나타냅니다.

다음 예제는 동일한 컴퓨터의 두 PowerShell 세션에서 실행됩니다. PSSession의 연결이 끊어지고 다시 연결되면 각 세션에서 상태가용성 속성의 값이 변경됩니다.

# Session 1
New-PSSession -ComputerName Server30 -Name Test
Id Name   ComputerName    State         ConfigurationName     Availability
-- ----   ------------    -----         -----------------     ------------
1  Test   Server30        Opened        Microsoft.PowerShell     Available
# Session 2
Get-PSSession -ComputerName Server30 -Name Test
Id Name   ComputerName    State         ConfigurationName     Availability
-- ----   ------------    -----         -----------------     ------------
1 Test    Server30        Disconnected  Microsoft.PowerShell          Busy
# Session 1
Get-PSSession -ComputerName Server30 -Name Test | Disconnect-PSSession
Id Name   ComputerName    State         ConfigurationName     Availability
-- ----   ------------    -----         -----------------     ------------
1 Test    Server30        Disconnected  Microsoft.PowerShell          None
# Session 2
Get-PSSession -ComputerName Server30
Id Name   ComputerName    State         ConfigurationName     Availability
-- ----   ------------    -----         -----------------     ------------
1 Test    Server30        Disconnected  Microsoft.PowerShell          None
# Session 2
Connect-PSSession -ComputerName Server30 -Name Test
Id Name   ComputerName    State         ConfigurationName     Availability
-- ----   ------------    -----         -----------------     ------------
3 Test    Server30        Opened        Microsoft.PowerShell     Available
# Session 1
Get-PSSession -ComputerName Server30
Id Name   ComputerName    State         ConfigurationName     Availability
-- ----   ------------    -----         -----------------     ------------
1 Test    Server30        Disconnected  Microsoft.PowerShell          Busy

연결이 끊긴 세션은 cmdlet을 사용하는 Remove-PSSession 것과 같이 삭제할 때까지 원격 컴퓨터에서 기본 유지되거나 시간이 초과됩니다. PSSession의 IdleTimeout 속성은 연결이 끊긴 세션이 삭제되기 전에 기본 도달하는 기간을 결정합니다.

유휴 시간 제한 값

하트비트 스레드가 응답을 받지 못하는 경우 PSSessions는 유휴 상태입니다. 세션 연결을 끊으면 연결이 끊긴 세션에서 명령이 계속 실행되더라도 유휴 상태가 되며 IdleTimeout 시계가 시작됩니다. PowerShell은 연결이 끊긴 세션을 활성 상태이지만 유휴 상태로 간주합니다.

세션을 만들고 연결을 끊을 때 PSSession의 유휴 시간 제한이 사용자의 요구에 맞게 세션을 기본 충분히 길지만 원격 컴퓨터에서 불필요한 리소스를 소비하는 데는 그리 길지 않은지 확인합니다.

세션 구성의 IdleTimeoutMs 속성은 세션 구성을 사용하는 세션의 기본 유휴 시간 제한을 결정합니다. 기본값을 재정의할 수 있지만 해당 값은 세션 구성의 MaxIdleTimeoutMs 속성을 초과할 수 없습니다.

다음 명령을 사용하여 세션 구성에 대한 IdleTimeoutMsMaxIdleTimeoutMs 값을 가져옵니다.

Get-PSSessionConfiguration |
  Format-Table Name, IdleTimeoutMs, MaxIdleTimeoutMs

원격 컴퓨터에서 관리istrators 그룹의 멤버인 경우 세션 구성을 만들 때 이러한 값을 설정할 수 있습니다. 또한 연결을 끊을 때 값을 변경할 수 있습니다.

세션 구성 및 세션 옵션의 유휴 시간 제한 값은 밀리초 단위입니다. 세션 및 세션 구성 옵션의 유휴 시간 제한 값은 초 단위입니다.

PSSession을 만들 때와 PSSession(New-PSSessionInvoke-Command)에서 연결을 끊을 때 PSSession의 유휴 시간 제한을 설정할 수 있습니다Disconnect-PSSession. 그러나 PSSession()에 연결하거나 결과Receive-PSSession(Connect-PSSession)를 가져올 때는 IdleTimeout 값을 변경할 수 없습니다.

Receive-PSSession cmdlet에는 Connect-PSSessioncmdlet에서 반환하는 것과 같은 PSSessionOption 개체를 사용하는 SessionOption 매개 변수가 New-PSSessionOption 있습니다.

SessionOption 개체의 IdleTimeout기본 설정 변수의 IdleTimeout$PSSessionOption 은 또는 Receive-PSSession 명령에서 IdleTimeoutConnect-PSSession값을 변경하지 않습니다.

특정 유휴 시간 제한 값을 사용하여 PSSession을 만들려면 기본 설정 변수를 $PSSessionOption 만듭니다. IdleTimeout 속성의 값을 원하는 값(밀리초)으로 설정합니다.

PSSessions를 만들 때 변수의 값 $PSSessionOption 이 세션 구성의 값보다 우선합니다.

예를 들어 다음 명령은 유휴 시간 제한을 48시간으로 설정합니다.

$PSSessionOption = New-PSSessionOption -IdleTimeoutMSec 172800000

특정 유휴 시간 제한 값을 사용하여 PSSession을 만들려면 cmdlet의 IdleTimeoutMSec 매개 변수를 New-PSSessionOption 사용합니다. 그런 다음, or cmdlet의 SessionOption 매개 변수 값에 New-PSSession 세션 옵션을 사용합니다.Invoke-Command

세션을 만들 때 설정된 값이 기본 설정 변수 및 세션 구성에 $PSSessionOption 설정된 값보다 우선합니다.

예시:

$o = New-PSSessionOption -IdleTimeoutMSec 172800000
New-PSSession -SessionOption $o

연결을 끊을 때 PSSession의 유휴 시간 제한을 변경하려면 cmdlet의 IdleTimeoutSec 매개 변수를 Disconnect-PSSession 사용합니다.

예시:

Disconnect-PSSession -IdleTimeoutSec 172800

특정 유휴 시간 제한 및 최대 유휴 시간 제한을 사용하여 세션 구성을 만들려면 cmdlet의 IdleTimeoutSecMaxIdleTimeoutSec 매개 변수를 New-PSTransportOption 사용합니다. 그런 다음 TransportOption 매개 변수Register-PSSessionConfiguration의 값에서 전송 옵션을 사용합니다.

예시:

$o = New-PSTransportOption -IdleTimeoutSec 172800 -MaxIdleTimeoutSec 259200
Register-PSSessionConfiguration -Name Test -TransportOption $o

세션 구성의 기본 유휴 시간 제한 및 최대 유휴 시간 제한을 변경하려면 cmdlet의 IdleTimeoutSecMaxIdleTimeoutSec 매개 변수를 New-PSTransportOption 사용합니다. 그런 다음 TransportOption 매개 변수Set-PSSessionConfiguration의 값에서 전송 옵션을 사용합니다.

예시:

$o = New-PSTransportOption -IdleTimeoutSec 172800 -MaxIdleTimeoutSec 259200
Set-PSSessionConfiguration -Name Test -TransportOption $o

출력 버퍼링 모드

PSSession의 출력 버퍼링 모드는 PSSession의 출력 버퍼가 가득 찼을 때 명령 출력을 관리하는 방법을 결정합니다.

연결이 끊긴 세션에서 출력 버퍼링 모드는 세션 연결이 끊긴 동안 명령이 계속 실행되는지 여부를 효과적으로 결정합니다.

다음과 같은 유효한 값입니다.

  • Block (기본값) - 출력 버퍼가 가득 차면 버퍼가 명확할 때까지 실행이 일시 중단됩니다. Block 는 데이터를 유지하지만 명령을 중단할 수 있습니다.
  • Drop - 출력 버퍼가 가득 차면 실행이 계속됩니다. 새 출력이 생성되면 가장 오래된 출력은 dis카드ed입니다. 값을 사용하는 Drop 경우 출력을 파일로 리디렉션합니다. 이 값은 연결이 끊긴 세션에 권장됩니다.

세션 구성의 OutputBufferingMode 속성은 세션 구성을 사용하는 세션의 기본 버퍼링 모드를 결정합니다.

OutputBufferingMode세션 구성 값을 찾으려면 다음 명령 형식 중 하나를 사용할 수 있습니다.

(Get-PSSessionConfiguration <ConfigurationName>).OutputBufferingMode
Get-PSSessionConfiguration | Format-Table Name, OutputBufferingMode

PSSession을 만들 때, 연결을 끊을 때 및 다시 연결할 때 세션 구성에서 기본값을 재정의하고 PSSession의 출력 버퍼링 모드를 설정할 수 있습니다.

원격 컴퓨터에서 관리istrators 그룹의 멤버인 경우 세션 구성의 출력 버퍼링 모드를 만들고 변경할 수 있습니다.

출력 버퍼링 모드Drop를 사용하여 PSSession을 만들려면 OutputBufferingMode 속성의 값이 있는 기본 설정 변수를 만듭니 $PSSessionOptionDrop.

PSSessions를 만들 때 변수의 값 $PSSessionOption 이 세션 구성의 값보다 우선합니다.

예시:

$PSSessionOption = New-PSSessionOption -OutputBufferingMode Drop

cmdlet의 New-PSSessionOption OutputBufferingMode 매개 변수를 사용하여 값Drop이 .인 세션 옵션을 만듭니다. 그런 다음 PSSessionOption 개체를 or Invoke-Command cmdlet의 SessionOption 매개 변수 New-PSSession 값으로 사용합니다.

세션을 만들 때 설정된 값이 기본 설정 변수 및 세션 구성에 $PSSessionOption 설정된 값보다 우선합니다.

예시:

$o = New-PSSessionOption -OutputBufferingMode Drop
New-PSSession -SessionOption $o

연결을 끊을 때 PSSession의 출력 버퍼링 모드를 변경하려면 cmdlet의 OutputBufferingMode 매개 변수를 Disconnect-PSSession 사용합니다.

예시:

Disconnect-PSSession -OutputBufferingMode Drop

다시 연결할 때 PSSession의 출력 버퍼링 모드를 변경하려면 cmdlet의 OutputBufferingMode 매개 변수를 New-PSSessionOption 사용합니다. 그런 다음 SessionOption 매개 변수 Receive-PSSessionConnect-PSSession값에서 세션 옵션을 사용합니다.

예시:

$o = New-PSSessionOption -OutputBufferingMode Drop
Connect-PSSession -ComputerName Server01 -Name Test -SessionOption $o

기본 출력 버퍼링 모드로 세션 구성을 만들려면 cmdlet의 DropNew-PSTransportOption OutputBufferingMode 매개 변수를 사용하여 Drop이 있는 전송 옵션 개체를 만듭니다. 그런 다음 TransportOption 매개 변수Register-PSSessionConfiguration의 값에서 전송 옵션을 사용합니다.

예시:

$o = New-PSTransportOption -OutputBufferingMode Drop
Register-PSSessionConfiguration -Name Test -TransportOption $o

세션 구성의 기본 출력 버퍼링 모드를 변경하려면 cmdlet의 New-PSTransportOption OutputBufferingMode 매개 변수를 사용하여 Drop이 있는 전송 옵션을 만듭니다. 그런 다음 SessionOption 매개 변수Set-PSSessionConfiguration의 값에서 전송 옵션을 사용합니다.

예시:

$o = New-PSTransportOption -OutputBufferingMode Drop
Set-PSSessionConfiguration -Name Test -TransportOption $o

루프백 세션 연결 끊기

루프백 세션 또는 로컬 세션은 동일한 컴퓨터에서 시작되고 종료되는 PSSessions입니다. 다른 PSSessions와 마찬가지로 활성 루프백 세션은 연결의 원격 끝(로컬 컴퓨터)에 있는 컴퓨터에서 기본 유지되므로 연결을 끊고 루프백 세션에 다시 연결할 수 있습니다.

기본적으로 루프백 세션은 다른 컴퓨터에 액세스하기 위해 세션에서 명령을 실행하는 것을 허용하지 않는 네트워크 보안 토큰으로 만들어집니다. 로컬 컴퓨터 또는 원격 컴퓨터의 모든 세션에서 네트워크 보안 토큰이 있는 루프백 세션에 다시 연결할 수 있습니다.

그러나 , Enter-PSSession또는 Invoke-Command cmdlet의 New-PSSessionEnableNetworkAccess 매개 변수를 사용하는 경우 루프백 세션은 대화형 보안 토큰으로 만들어집니다. 대화형 토큰을 사용하면 루프백 세션에서 실행되는 명령이 다른 컴퓨터에서 데이터를 가져올 수 있습니다.

대화형 토큰을 사용하여 루프백 세션의 연결을 끊은 다음 동일한 세션 또는 동일한 컴퓨터의 다른 세션에서 다시 연결할 수 있습니다. 그러나 악의적인 액세스를 방지하기 위해 생성된 컴퓨터에서만 대화형 토큰을 사용하여 루프백 세션에 다시 연결할 수 있습니다.

연결이 끊긴 세션에서 작업 대기

cmdlet은 Wait-Job 작업이 완료될 때까지 기다린 다음 명령 프롬프트 또는 다음 명령으로 돌아갑니다. 기본적으로 Wait-Job 작업이 실행 중인 세션의 연결이 끊어지는 경우 반환합니다. 세션이 Wait-Job 다시 연결될 때까지 대기하도록 cmdlet에 지시하려면 Opened 상태에서 Force 매개 변수를 사용합니다. 자세한 내용은 Wait-Job을 참조 하세요.

강력한 세션 및 의도하지 않은 연결 끊김

컴퓨터 오류 또는 네트워크 중단으로 인해 PSSession의 연결이 의도치 않게 끊어질 수 있습니다. PowerShell은 PSSession을 복구하려고 시도하지만 성공 횟수는 원인의 심각도 및 기간에 따라 달라집니다.

의도치 않게 연결이 끊어진 PSSession의 상태는 끊어지거나 닫혀 있을 수 있지만 연결이 끊어수도 있습니다. 상태 값이 연결이 끊어진 경우 세션의 연결이 의도적으로 끊어진 경우와 동일한 기술을 사용하여 PSSession을 관리할 수 있습니다. 예를 들어 cmdlet을 Connect-PSSession 사용하여 세션 및 Receive-PSSession cmdlet에 다시 연결하여 세션 연결이 끊긴 동안 실행된 명령의 결과를 가져올 수 있습니다.

PSSession에서 명령이 실행되는 동안 PSSession이 만들어진 세션을 닫고 종료하면 PowerShell은 원격 컴퓨터의 연결이 끊어진 상태에서 PSSession을 기본. PSSession이 만들어진 세션을 닫고 종료하지만 PSSession에서 실행 중인 명령이 없는 경우 PowerShell은 PSSession을 기본 확인하려고 시도하지 않습니다.

참고 항목