다음을 통해 공유


Remove-PSSession

하나 이상의 PowerShell 세션(PSSessions)을 닫습니다.

구문

Remove-PSSession
      [-Id] <Int32[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-PSSession
      [-Session] <PSSession[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-PSSession
      -ContainerId <String[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-PSSession
      -VMId <Guid[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-PSSession
      -VMName <String[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-PSSession
      -InstanceId <Guid[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-PSSession
      -Name <String[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-PSSession
      [-ComputerName] <String[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

cmdlet은 Remove-PSSession 현재 세션에서 PowerShell 세션(PSSessions)을 닫습니다. PSSessions에서 실행 중인 모든 명령을 중지하고, PSSession을 종료하고, PSSession에서 사용하던 리소스를 해제합니다. PSSession이 원격 컴퓨터에 연결된 경우 이 cmdlet은 로컬 컴퓨터와 원격 컴퓨터 간의 연결도 닫습니다.

PSSession을 제거하려면 세션의 이름, ComputerName, ID 또는 InstanceID를 입력합니다.

PSSession변수에 저장한 경우 세션 개체는 변수에 남아 있지만 PSSession상태는 Closed입니다.

예제

예제 1: ID별 세션 제거

Remove-PSSession -Id 1, 2

이 명령은 ID 및 .가 있는 PSSessions를 제거합니다1.2

예제 2: 현재 세션의 모든 세션 제거

Get-PSSession | Remove-PSSession
Remove-PSSession -Session (Get-PSSession)
$s = Get-PSSession
Remove-PSSession -Session $s

이러한 명령은 현재 세션의 모든 PSSessions 를 제거합니다. 세 가지 명령 형식은 다르게 보이지만 동일한 효과가 있습니다.

예제 3: 이름으로 세션 닫기

$r = Get-PSSession -ComputerName Serv*
$r | Remove-PSSession

이러한 명령은 이름이 >로 시작하는 컴퓨터에 연결된 PSSessions 를 닫습니다 Serv.

예제 4: 포트에 연결된 세션 닫기

Get-PSSession | where {$_.port -eq 90} | Remove-PSSession

이 명령은 포트 90에 연결된 PSSessions를 닫습니다. 이 명령 형식을 사용하여 ComputerName, Name, InstanceIDID 이외의 속성으로 PSSessions를 식별할 수 있습니다.

예제 5: 인스턴스 ID별로 세션 닫기

Get-PSSession | Format-Table ComputerName, InstanceID  -AutoSize

ComputerName InstanceId
------------ ----------------
Server01     875d231b-2788-4f36-9f67-2e50d63bb82a
localhost    c065ffa0-02c4-406e-84a3-dacb0d677868
Server02     4699cdbc-61d5-4e0d-b916-84f82ebede1f
Server03     4e5a3245-4c63-43e4-88d0-a7798bfc2414
TX-TEST-01   fc4e9dfa-f246-452d-9fa3-1adbdd64ae85

Remove-PSSession -InstanceID fc4e9dfa-f246-452d-9fa3-1adbdd64ae85

이러한 명령은 인스턴스 ID 또는 RemoteRunspaceID에 따라 PSSession을 닫는 방법을 보여 줍니다.

첫 번째 명령은 cmdlet을 Get-PSSession 사용하여 현재 세션에서 PSSessions를 가져옵니다. 파이프라인 연산자(|)를 사용하여 PSSessionsFormat-Table cmdlet으로 전송합니다. 이 cmdlet은 테이블의 ComputerNameInstanceID 속성 형식을 지정합니다. AutoSize 매개 변수는 표시할 열을 압축합니다.

결과 디스플레이에서 닫을 PSSession을 식별하고 해당 PSSession의 InstanceID를 복사하여 두 번째 명령에 붙여넣을 수 있습니다.

두 번째 명령은 cmdlet을 Remove-PSSession 사용하여 지정된 인스턴스 ID가 있는 PSSession 을 제거합니다.

예제 6: 현재 세션의 모든 세션을 삭제하는 함수 만들기

Function EndPSS { Get-PSSession | Remove-PSSession }

이 함수는 현재 세션의 모든 PSSession 을 닫습니다. PowerShell 프로필에 이 함수를 추가한 후 모든 세션을 삭제하려면 다음을 입력 EndPSS합니다.

매개 변수

-ComputerName

컴퓨터 이름의 배열을 지정합니다. 이 cmdlet은 지정된 컴퓨터에 연결된 PSSessions 를 닫습니다. 와일드카드 문자를 사용할 수 있습니다.

하나 이상의 원격 컴퓨터의 NetBIOS 이름, IP 주소 또는 정규화된 도메인 이름을 입력합니다. 로컬 컴퓨터를 지정하려면 컴퓨터 이름 localhost또는 점(.)을 입력합니다.

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

-Confirm

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

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

-ContainerId

컨테이너 ID의 배열을 지정합니다. 이 cmdlet은 지정된 각 컨테이너에 대한 세션을 제거합니다. 명령을 docker ps 사용하여 컨테이너 ID 목록을 가져옵니다. 자세한 내용은 docker ps 명령에 대한 도움말을 참조하세요.

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

-Id

세션 ID의 배열을 지정합니다. 이 cmdlet은 지정된 ID를 사용하여 PSSessions 를 닫습니다. 하나 이상의 ID를 쉼표로 구분하여 입력하거나 범위 연산자(..)를 사용하여 ID 범위를 지정합니다.

ID는 현재 세션의 PSSession 을 고유하게 식별하는 정수입니다. InstanceId보다 기억하고 입력하는 것이 더 쉽지만 현재 세션에서만 고유합니다. PSSession의 ID를 찾으려면 매개 변수 없이 cmdlet을 Get-PSSession 실행합니다.

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

-InstanceId

인스턴스 ID의 배열을 지정합니다. 이 cmdlet은 지정된 인스턴스 ID가 있는 PSSessions 를 닫습니다.

인스턴스 ID는 현재 세션에서 PSSession고유하게 식별하는 GUID입니다. 인스턴스 ID는 단일 컴퓨터에서 여러 세션을 실행하는 경우에도 고유합니다.

인스턴스 ID는 PSSession을 나타내는 개체의 InstanceID 속성에 저장됩니다. 현재 세션에서 PSSessions의 InstanceID를 찾으려면 .를 입력합니다Get-PSSession | Format-Table Name, ComputerName, InstanceId.

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

-Name

세션 이름 배열을 지정합니다. 이 cmdlet은 지정된 이름을 가진 PSSessions 를 닫습니다. 와일드카드 문자를 사용할 수 있습니다.

PSSession의 이름이 고유하지 않을 수 있으므로 Name 매개 변수를 사용하는 경우 명령에서 Remove-PSSession WhatIf 또는 Confirm 매개 변수도 사용하는 것이 좋습니다.

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

-Session

닫을 PSSessions세션 개체를 지정합니다. PSSessions 또는 PSSessions를 만들거나 가져오는 명령(예: 명령)이 포함된 변수를 New-PSSession Get-PSSession 입력합니다. 하나 이상의 세션 개체를 .에 파이프할 Remove-PSSession수도 있습니다.

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

-VMId

가상 머신의 ID 배열을 지정합니다. 이 cmdlet은 지정된 각 가상 머신과 대화형 세션을 시작합니다. 사용할 수 있는 가상 머신을 보려면 다음 명령을 사용합니다.

Get-VM | Select-Object -Property Name, ID

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

-VMName

가상 머신의 이름 배열을 지정합니다. 이 cmdlet은 지정된 각 가상 머신과 대화형 세션을 시작합니다. 사용할 수 있는 가상 머신을 보려면 cmdlet을 Get-VM 사용합니다.

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

-WhatIf

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

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

입력

PSSession

세션 개체를 이 cmdlet으로 파이프할 수 있습니다.

출력

None

이 cmdlet은 출력을 반환하지 않습니다.

참고

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

  • 모든 플랫폼:

    • rsn
  • ID 매개 변수는 필수입니다. 현재 세션의 모든 PSSessions 를 삭제하려면 .를 입력합니다 Get-PSSession | Remove-PSSession.

  • PSSession은 원격 컴퓨터에 대한 영구 연결을 사용합니다. 데이터를 공유하는 일련의 명령을 실행하는 PSSession을 만듭니다. 자세한 내용은 다음을 입력합니다 Get-Help about_PSSessions.

  • PSSessions 는 현재 세션과 관련이 있습니다. 세션을 종료하면 해당 세션에서 만든 PSSessions 가 강제로 닫힙니다.