Connect-PSSession

연결이 끊긴 세션에 다시 연결합니다.

Syntax

Connect-PSSession
       -Name <String[]>
       [-ThrottleLimit <Int32>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Connect-PSSession
       [-Session] <PSSession[]>
       [-ThrottleLimit <Int32>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Connect-PSSession
       -ComputerName <String[]>
       [-ApplicationName <String>]
       [-ConfigurationName <String>]
       -InstanceId <Guid[]>
       [-Credential <PSCredential>]
       [-Authentication <AuthenticationMechanism>]
       [-CertificateThumbprint <String>]
       [-Port <Int32>]
       [-UseSSL]
       [-SessionOption <PSSessionOption>]
       [-ThrottleLimit <Int32>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Connect-PSSession
       -ComputerName <String[]>
       [-ApplicationName <String>]
       [-ConfigurationName <String>]
       [-Name <String[]>]
       [-Credential <PSCredential>]
       [-Authentication <AuthenticationMechanism>]
       [-CertificateThumbprint <String>]
       [-Port <Int32>]
       [-UseSSL]
       [-SessionOption <PSSessionOption>]
       [-ThrottleLimit <Int32>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Connect-PSSession
       [-ConfigurationName <String>]
       [-ConnectionUri] <Uri[]>
       [-AllowRedirection]
       -InstanceId <Guid[]>
       [-Credential <PSCredential>]
       [-Authentication <AuthenticationMechanism>]
       [-CertificateThumbprint <String>]
       [-SessionOption <PSSessionOption>]
       [-ThrottleLimit <Int32>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Connect-PSSession
       [-ConfigurationName <String>]
       [-ConnectionUri] <Uri[]>
       [-AllowRedirection]
       [-Name <String[]>]
       [-Credential <PSCredential>]
       [-Authentication <AuthenticationMechanism>]
       [-CertificateThumbprint <String>]
       [-SessionOption <PSSessionOption>]
       [-ThrottleLimit <Int32>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Connect-PSSession
       -InstanceId <Guid[]>
       [-ThrottleLimit <Int32>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Connect-PSSession
       [-ThrottleLimit <Int32>]
       [-Id] <Int32[]>
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Description

이 cmdlet은 Windows 플랫폼에서만 사용할 수 있습니다.

cmdlet은 Connect-PSSession 연결이 끊어진 PSSessions(사용자 관리 PowerShell 세션)에 다시 연결됩니다. cmdlet 또는 cmdlet의 Invoke-Command InDisconnectedSession 매개 변수를 사용하는 Disconnect-PSSession 것과 같이 의도적으로 연결이 끊긴 세션과 임시 네트워크 중단과 같이 의도치 않게 연결이 끊어진 세션에서 작동합니다.

Connect-PSSession 는 동일한 사용자가 시작한 연결이 끊긴 세션에 연결할 수 있습니다. 여기에는 다른 컴퓨터의 다른 세션에서 시작하거나 연결이 끊긴 세션이 포함됩니다.

그러나 Connect-PSSession 끊어지거나 닫힌 세션 또는 cmdlet을 사용하여 Enter-PSSession 시작된 대화형 세션에 연결할 수 없습니다. 또한 세션을 만든 사용자의 자격 증명을 제공할 수 없다면 다른 사용자가 시작한 세션에 세션을 연결할 수 없습니다.

연결이 끊긴 세션 기능에 대한 자세한 내용은 about_Remote_Disconnected_Sessions 참조하세요.

이 cmdlet은 Windows PowerShell 3.0에서 도입되었습니다.

예제

예제 1: 세션에 다시 연결

Connect-PSSession -ComputerName Server01 -Name ITTask

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 4 ITTask          Server01        Opened        ITTasks                  Available

이 명령은 Server01 컴퓨터의 ITTask 세션에 다시 연결됩니다.

출력은 명령이 성공했음을 보여줍니다. 세션 Opened 의 상태가용성Available세션에서 명령을 실행할 수 있음을 나타냅니다.

예제 2: 연결 끊기 및 다시 연결의 효과

Get-PSSession

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 1 Backups         Localhost       Opened        Microsoft.PowerShell     Available

Get-PSSession | Disconnect-PSSession

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 1 Backups         Localhost       Disconnected  Microsoft.PowerShell          None

Get-PSSession | Connect-PSSession

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 1 Backups         Localhost       Opened        Microsoft.PowerShell     Available

이 예제에서는 세션의 연결을 끊은 다음 다시 연결하는 효과를 보여 냅니다.

첫 번째 명령은 cmdlet을 Get-PSSession 사용합니다. ComputerName 매개 변수가 없으면 명령은 현재 세션에서 만든 세션만 가져옵니다.

출력은 명령이 로컬 컴퓨터에서 Backups 세션을 가져옵니다. 세션 Opened 의 상태가고 가용성.입니다Available.

두 번째 명령은 cmdlet을 Get-PSSession사용하여 현재 세션에서 만든 PSSession 개체와 Disconnect-PSSession cmdlet을 사용하여 세션 연결을 끊습니다. 출력은 세션의 연결이 Backups 끊어진 것을 보여줍니다. 세션 Disconnected 의 상태가고 가용성.입니다None.

세 번째 명령은 cmdlet을 사용하여 Get-PSSession 현재 세션에서 만든 PSSession 개체와 Connect-PSSession cmdlet을 가져와 세션을 다시 연결합니다. 출력은 세션이 Backups 다시 연결되었음을 보여줍니다. 세션 Opened 의 상태가고 가용성.입니다Available.

연결이 Connect-PSSession 끊어지지 않은 세션에서 cmdlet을 사용하는 경우 명령은 세션에 영향을 주지 않으며 오류를 생성하지 않습니다.

예제 3: 엔터프라이즈 시나리오의 일련의 명령

이 일련의 명령은 엔터프라이즈 시나리오에서 cmdlet을 사용하는 방법을 Connect-PSSession 보여 줍니다. 이 경우 시스템 관리자는 원격 컴퓨터의 세션에서 장기 실행 작업을 시작합니다. 작업을 시작한 후 관리자는 세션에서 연결을 끊고 집으로 돌아갑니다. 그날 저녁, 관리자는 홈 컴퓨터에 로그온하여 작업이 완료될 때까지 실행되었는지 확인합니다.

관리자는 원격 컴퓨터에서 세션을 만들고 세션에서 스크립트를 실행하여 시작합니다. 첫 번째 명령은 cmdlet을 New-PSSession 사용하여 Server01 원격 컴퓨터에서 세션을 만듭니 ITTask 다. 이 명령은 ConfigurationName 매개 변수를 사용하여 세션 구성을 지정합니다ITTasks. 이 명령은 세션을 변수에 $s 저장합니다.

변수의 세션에서 $s 백그라운드 작업을 시작하는 두 번째 명령 Invoke-Command cmdlet입니다. FilePath 매개 변수를 사용하여 백그라운드 작업에서 스크립트를 실행합니다.

세 번째 명령은 cmdlet을 Disconnect-PSSession 사용하여 변수의 세션에서 연결을 끊습니다 $s . 이 명령은 OutputBufferingMode 매개 변수를 값 Drop 과 함께 사용하여 세션에 출력을 전달해야 스크립트가 차단되지 않도록 합니다. IdleTimeoutSec 매개 변수를 사용하여 세션 제한 시간을 15시간으로 연장합니다. 명령이 완료되면 관리자는 컴퓨터를 잠그고 저녁에 집으로 돌아갑니다.

그날 저녁, 관리자는 가정용 컴퓨터를 시작하고 회사 네트워크에 로그온한 후 PowerShell을 시작합니다. 네 번째 명령은 cmdlet을 Get-PSSession 사용하여 Server01 컴퓨터에서 세션을 가져옵니다. 명령은 세션을 찾습니다 ITTask . 다섯 번째 명령은 cmdlet을 Connect-PSSession 사용하여 세션에 연결합니다 ITTask . 이 명령은 세션을 $s 변수에 저장합니다.

여섯 번째 명령은 cmdlet을 Invoke-Command 사용하여 변수의 세션에서 $s 명령을 실행 Get-Job 합니다. 출력은 작업이 성공적으로 완료되었음을 보여줍니다. 일곱 번째 명령은 cmdlet을 Invoke-Command 사용하여 세션의 변수에 있는 $s 세션에서 명령을 실행 Receive-Job 합니다. 이 명령은 결과를 변수에 $BackupSpecs 저장합니다. 여덟 번째 명령은 cmdlet을 Invoke-Command 사용하여 세션에서 다른 스크립트를 실행합니다. 이 명령은 세션의 $BackupSpecs 변수 값을 스크립트에 대한 입력으로 사용합니다.

$s = New-PSSession -ComputerName Server01 -Name ITTask -ConfigurationName ITTasks
Invoke-Command -Session $s -ScriptBlock {Start-Job -FilePath \\Server30\Scripts\Backup-SQLDatabase.ps1}

Id     Name            State         HasMoreData     Location             Command
--     ----            -----         -----------     --------             -------
2      Job2            Running       True            Server01             \\Server30\Scripts\Backup...

Disconnect-PSSession -Session $s -OutputBufferingMode Drop -IdleTimeoutSec 60*60*15

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 1 ITTask          Server01        Disconnected  ITTasks               None

Get-PSSession -ComputerName Server01 -Name ITTask

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 1 ITTask          Server01        Disconnected  ITTasks               None

$s = Connect-PSSession -ComputerName Server01 -Name ITTask

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 1 ITTask          Server01        Opened        ITTasks               Available

Invoke-Command -Session $s -ScriptBlock {Get-Job}

Id     Name            State         HasMoreData     Location             Command
--     ----            -----         -----------     --------             -------
2      Job2            Completed     True            Server01             \\Server30\Scripts\Backup...

Invoke-Command -Session $s -ScriptBlock {$BackupSpecs = Receive-Job -JobName Job2}
Invoke-Command -Session $s -ScriptBlock {\\Server30\Scripts\New-SQLDatabase.ps1 -InitData $BackupSpecs.Initialization}
Disconnect-PSSession -Session $s -OutputBufferingMode Drop -IdleTimeoutSec 60*60*15

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 1 ITTask          Server01        Disconnected  ITTasks               None

아홉 번째 명령은 변수의 세션에서 연결을 끊습니다 $s . 관리자가 PowerShell을 닫고 컴퓨터를 닫습니다. 그녀는 다음 날 세션에 다시 연결하고 작업 컴퓨터에서 스크립트 상태 검사 수 있습니다.

매개 변수

-AllowRedirection

이 cmdlet은 이 연결을 대체 URI로 리디렉션할 수 있음을 나타냅니다.

커넥트ionURI 매개 변수를 사용하는 경우 원격 대상은 다른 URI로 리디렉션하는 명령을 반환할 수 있습니다. 기본적으로 PowerShell은 연결을 리디렉션하지 않지만 이 매개 변수를 사용하여 연결을 리디렉션할 수 있습니다.

최대커넥트ionRedirectionCount 세션 옵션 값을 변경하여 연결이 리디렉션되는 횟수를 제한할 수도 있습니다. cmdlet의 New-PSSessionOption MaximumRedirection 매개 변수를 사용하거나 $PSSessionOption 기본 설정 변수의 Maximum커넥트ionRedirectionCount 속성을 설정합니다. 기본값은 5입니다.

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

-ApplicationName

애플리케이션의 이름을 지정합니다. 이 cmdlet은 지정된 애플리케이션을 사용하는 세션에만 연결됩니다.

연결 URI의 애플리케이션 이름 세그먼트를 입력합니다. 예를 들어 다음 연결 URI에서 애플리케이션 이름은 WSMan http://localhost:5985/WSMAN입니다. 세션의 애플리케이션 이름은 Runspace.커넥트에 저장됩니다.세션의 ionInfo.AppName 속성입니다.

이 매개 변수의 값은 세션을 선택하고 필터링하는 데 사용됩니다. 세션에서 사용하는 애플리케이션을 변경하지 않습니다.

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

-Authentication

연결이 끊긴 세션에 다시 연결하기 위해 명령에서 사용자 자격 증명을 인증하는 데 사용되는 메커니즘을 지정합니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.

  • Default
  • Basic
  • Credssp
  • Digest
  • Kerberos
  • Negotiate
  • NegotiateWithImplicitCredential

기본값은 Default입니다.

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

주의

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

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

-CertificateThumbprint

연결이 끊긴 세션에 연결할 수 있는 권한이 있는 사용자 계정의 디지털 공개 키 인증서(X509)를 지정합니다. 인증서의 인증서 지문을 입력합니다.

인증서는 클라이언트 인증서 기반 인증에 사용됩니다. 로컬 사용자 계정에만 매핑할 수 있습니다. do기본 계정으로는 작동하지 않습니다.

인증서 지문을 가져오려면 PowerShell Cert: 드라이브에서 또는 Get-ItemGet-ChildItem 명령을 사용합니다.

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

-ComputerName

연결이 끊긴 세션이 저장되는 컴퓨터를 지정합니다. 세션은 서버 쪽에 있거나 연결의 끝을 수신하는 컴퓨터에 저장됩니다. 기본값은 로컬 컴퓨터입니다.

한 컴퓨터의 NetBIOS 이름, IP 주소 또는 정규화된 do기본 이름을 입력합니다. 와일드카드 문자는 허용되지 않습니다. 로컬 컴퓨터를 지정하려면 컴퓨터 이름 localhost또는 점(.)을 입력합니다.

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

-ConfigurationName

지정된 세션 구성을 사용하는 세션에만 커넥트.

세션 구성에 대한 구성 이름 또는 정규화된 리소스 URI를 입력합니다. 구성 이름만 지정하면 다음 스키마 URI가 앞에 추가됩니다 http://schemas.microsoft.com/powershell. 세션의 구성 이름은 세션의 ConfigurationName 속성에 저장됩니다.

이 매개 변수의 값은 세션을 선택하고 필터링하는 데 사용됩니다. 세션이 사용하는 세션 구성은 변경되지 않습니다.

세션 구성에 대한 자세한 내용은 about_Session_Configurations를 참조하세요.

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

-Confirm

cmdlet을 실행하기 전에 확인 메시지가 표시됩니다.

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

-ConnectionUri

연결이 끊긴 세션에 대한 연결 엔드포인트의 URI를 지정합니다.

URI는 정규화되어야 합니다. 이 문자열의 형식은 다음과 같습니다.

<Transport>://<ComputerName>:<Port>/<ApplicationName>

기본값은 다음과 같습니다.

http://localhost:5985/WSMAN

연결 URI를 지정하지 않으면 UseSSL포트 매개 변수를 사용하여 연결 URI 값을 지정할 수 있습니다.

URI의 전송 세그먼트에 유효한 값은 HTTP 및 HTTPS입니다. 전송 세그먼트를 사용하여 연결 URI를 지정하지만 포트를 지정하지 않으면 HTTP 및 443 HTTPS에 대한 표준 포트 80 를 사용하여 세션이 만들어집니다. PowerShell 원격에 기본 포트를 사용하려면 HTTP 또는 5986 HTTPS에 대한 포트 5985 를 지정합니다.

대상 컴퓨터가 연결을 다른 URI로 리디렉션하는 경우 명령에서 AllowRedirection 매개 변수를 사용하지 않는 한 PowerShell은 리디렉션을 방지합니다.

Type:Uri[]
Aliases:URI, CU
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Credential

연결이 끊긴 세션에 연결할 수 있는 권한이 있는 사용자 계정을 지정합니다. 기본값은 현재 사용자입니다.

사용자 이름(예: User01 또는)을 입력하거나 Domain01\User01cmdlet에서 생성된 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

-Id

연결이 끊긴 세션의 ID를 지정합니다. Id 매개 변수는 연결이 끊긴 세션이 이전에 현재 세션에 연결된 경우에만 작동합니다.

세션이 로컬 컴퓨터에 저장되어 있지만 현재 세션에 연결되지 않은 경우 이 매개 변수는 유효하지만 유효하지는 않습니다.

Type:Int32[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-InstanceId

연결이 끊긴 세션의 인스턴스 ID를 지정합니다.

인스턴스 ID는 로컬 또는 원격 컴퓨터에서 PSSession 을 고유하게 식별하는 GUID입니다.

인스턴스 ID는 PSSession의 InstanceID 속성에 저장됩니다.

Type:Guid[]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Name

연결이 끊긴 세션의 이름을 지정합니다.

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

-Port

세션에 다시 연결하는 데 사용되는 원격 컴퓨터의 네트워크 포트를 지정합니다. 원격 컴퓨터에 연결하려면 원격 컴퓨터가 연결에서 사용하는 포트에서 수신 대기해야 합니다. 기본 포트는 5985HTTP용 WinRM 포트이고 5986HTTPS용 WinRM 포트입니다.

대체 포트를 사용하려면 먼저 원격 컴퓨터에 해당 포트에서 수신 대기할 WinRM 수신기를 구성해야 합니다. 수신기를 구성하려면 PowerShell 프롬프트에 다음 두 명령을 입력합니다.

Remove-Item -Path WSMan:\Localhost\listener\listener* -Recurse

New-Item -Path WSMan:\Localhost\listener -Transport http -Address * -Port \<port-number\>

반드시 사용해야 하는 경우가 아니면 포트 매개 변수를 사용하지 마세요. 명령에 설정된 포트는 명령이 실행되는 모든 컴퓨터 또는 세션에 적용됩니다. 대체 포트 설정을 사용하면 명령이 모든 컴퓨터에서 실행되지 않을 수 있습니다.

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

-Session

연결이 끊긴 세션을 지정합니다. PSSession 개체가 포함된 변수 또는 명령과 같은 Get-PSSession PSSession 개체를 만들거나 가져오는 명령을 입력합니다.

Type:PSSession[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-SessionOption

세션에 대한 고급 옵션을 지정합니다. cmdlet을 사용하여 New-PSSessionOption 만든 개체와 같은 SessionOption 개체 또는 키가 세션 옵션 이름이고 값이 세션 옵션 값인 해시 테이블을 입력합니다.

옵션의 기본값은 설정된 경우 기본 설정 변수의 $PSSessionOption 값에 따라 결정됩니다. 그렇지 않으면 기본값은 세션 구성에 설정된 옵션에 의해 설정됩니다.

세션 옵션 값은 기본 설정 변수 및 세션 구성에서 설정된 세션의 $PSSessionOption 기본값보다 우선합니다. 그러나 세션 구성에 설정된 최대 값, 할당량 또는 제한보다 우선하지 않습니다.

기본값을 포함하는 세션 옵션에 대한 설명은 을 참조하세요 New-PSSessionOption. $PSSessionOption 기본 설정 변수에 대한 자세한 내용은 about_Preference_Variables 참조하세요. 세션 구성에 대한 자세한 내용은 about_Session_Configurations를 참조하세요.

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

-ThrottleLimit

이 명령을 실행하도록 설정할 수 있는 최대 동시 연결 수를 지정합니다. 이 매개 변수를 생략하거나 기본값32인 값을 0입력하면 사용됩니다.

제한 제한은 세션이나 컴퓨터가 아닌 현재 명령에만 적용됩니다.

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

-UseSSL

이 cmdlet은 SSL(Secure Sockets Layer) 프로토콜을 사용하여 연결이 끊긴 세션에 연결되었음을 나타냅니다. 기본적으로 SSL은 사용되지 않습니다.

WS-Management는 네트워크를 통해 전송되는 모든 PowerShell 콘텐츠를 암호화합니다. UseSSL 매개 변수는 HTTP 연결 대신 HTTPS 연결을 통해 데이터를 보내는 추가 보호입니다.

이 매개 변수를 사용하지만 명령에 사용되는 포트에서 SSL을 사용할 수 없는 경우 명령이 실패합니다.

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

-WhatIf

cmdlet이 실행될 경우 결과 동작을 표시합니다. cmdlet이 실행되지 않습니다.

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

입력

PSSession

세션(PSSession)을 이 cmdlet으로 파이프할 수 있습니다.

출력

PSSession

이 cmdlet은 다시 연결한 세션을 나타내는 개체를 반환합니다.

참고

PowerShell에는 다음 별칭이 포함됩니다.Connect-PSSession

  • Windows:

    • cnsn
  • 이 cmdlet은 Windows 플랫폼에서만 사용할 수 있습니다.

  • Connect-PSSession연결이 끊어진 세션, 즉 상태 속성에 대한 Disconnected 값이 있는 세션에만 다시 연결합니다. Windows PowerShell 3.0 이상 버전을 실행하는 컴퓨터에 연결되거나 종료되는 세션만 연결을 끊고 다시 연결할 수 있습니다.

  • 연결이 끊어지지 않은 세션에서 사용하는 Connect-PSSession 경우 명령은 세션에 영향을 주지 않으며 오류를 생성하지 않습니다.

  • EnableNetworkAccess 매개 변수를 사용하여 만든 대화형 토큰이 있는 연결이 끊긴 루프백 세션은 세션이 만들어진 컴퓨터에서만 다시 연결할 수 있습니다. 이 제한은 악의적인 액세스로부터 컴퓨터를 보호합니다.

  • PSSessionState 속성 값은 현재 세션을 기준으로 합니다. 따라서 연결 끊김 값은 PSSession이 현재 세션에 연결되지 않음을 의미합니다. 그러나 PSSession모든 세션에서 연결이 끊어지는 것은 아닙니다. 다른 세션에 연결되어 있을 수도 있습니다. 세션에 연결하거나 다시 연결할 수 있는지 여부를 확인하려면 가용성 속성을 사용합니다.

    None의 가용성 값은 세션에 연결할 수 있음을 나타냅니다. 사용 중 값은 PSSession이 다른 세션에 연결되어 있으므로 연결할 수 없음을 나타냅니다.

    세션의 State 속성 값에 대한 자세한 내용은 RunspaceState 열거형을 참조하세요.

    세션의 가용성 속성 값에 대한 자세한 내용은 RunspaceAvailability 열거형을 참조 하세요.

  • PSSession에 연결할 때는 PSSession유휴 시간 제한 값을 변경할 수 없습니다. SessionOption 매개 변수 Connect-PSSessionIdleTimeout 값이 있는 SessionOption 개체를 사용합니다. 그러나 PSSession에 연결할 때는 SessionOption 개체의 IdleTimeout 값과 변수의 $PSSessionOption IdleTimeout 값이 무시됩니다.

    PSSession을 만들 때 또는 Invoke-Command cmdlet을 사용하고 New-PSSession PSSession에서 연결을 끊을 때 PSSession의 유휴 시간 초과를 설정하고 변경할 수 있습니다.

    PSSessionIdleTimeout 속성은 연결이 끊긴 세션이 원격 컴퓨터에서 기본 유지되는 기간을 결정하기 때문에 연결이 끊긴 세션에 중요합니다. 연결이 끊긴 세션은 연결이 끊긴 세션에서 명령을 실행 중인 경우에도 연결이 끊긴 순간부터 유휴 상태로 간주됩니다.