다음을 통해 공유


about_Session_Configurations

항목
    about_Session_Configurations

간단한 설명
    컴퓨터에 원격으로 연결할 수 있는 사용자와 이러한 사용자가 실행할 수 있는 명령을 결정하는 세션 구성에 대해 
    설명합니다.

자세한 설명
    세션 구성은 원격 사용자가 로컬 컴퓨터에 연결할 때 만들어지는 Windows PowerShell 세션의 환경을 정의하는 로컬 
    컴퓨터의 설정 그룹입니다. 

    컴퓨터의 관리자는 세션 구성을 사용하여 컴퓨터를 보호하고 컴퓨터에 연결하는 사용자가 사용할 사용자 지정 환경을 
    정의할 수 있습니다.

    또한 관리자는 세션 구성을 사용하여 컴퓨터에 원격으로 연결하는 데 필요한 사용 권한을 결정할 수 있습니다. 
    기본적으로 Administrators 그룹의 구성원만 세션 구성을 사용하여 원격으로 연결할 수 있는 권한이 있지만 기본 
    설정을 변경하여 모든 사용자나 선택된 사용자가 컴퓨터에 원격으로 연결할 수 있도록 허용할 수 있습니다.

    세션 구성은 WS-Management(Web Services for Management) 기반 Windows PowerShell 원격의 기능이며
    New-PSSession, Invoke-Command 또는 Enter-PSSession cmdlet을 사용하여 원격 컴퓨터에 연결하는 경우에만 사용됩니다.

    참고: Windows Vista, Windows Server 2008 또는 이후 버전의 Windows를 실행하는 컴퓨터에서 세션 구성을 
          관리하려면 "관리자 권한으로 실행" 옵션을 사용하여 Windows PowerShell을 시작합니다.


  세션 구성 정보
  
      모든 Windows PowerShell 세션에서는 세션 구성을 사용합니다. 이러한 세션에는 New-PSSession 또는 
      Enter-PSSession cmdlet을 사용하여 만드는 영구 세션과 WS-Management 기반 원격 기술을 사용하는
      Invoke-Command와 같은 cmdlet의 ComputerName 매개 변수를 사용하는 경우 Windows PowerShell에서
      만드는 임시 세션이 포함됩니다. 

      관리자는 세션 구성을 사용하여 컴퓨터의 리소스를 보호하고 컴퓨터에 연결하는 사용자가 사용할
      사용자 지정 환경을 만들 수 있습니다. 예를 들어 세션 구성을 사용하여 컴퓨터가 세션에서 받는
      개체의 크기를 제한하고, 세션의 언어 모드를 정의하고, 세션에서 사용할 수 있는 cmdlet, 공급자
      및 함수를 지정할 수 있습니다. 

      세션 구성의 보안 설명자를 구성하여 세션 구성을 통해 컴퓨터에 연결할 수 있는 사용자를 결정합니다.
      사용자는 세션에 대한 실행 권한을 갖고 있어야 세션에서 세션 구성을 사용할 수 있습니다. 
      컴퓨터에서 세션 구성을 사용하는 데 필요한 사용 권한이 없는 사용자는 컴퓨터에 원격으로 연결할 
      수 없습니다. 
  
      기본적으로 컴퓨터의 관리자만 기본 세션 구성을 사용할 수 있는 권한을 갖고 있지만 보안 설명자를
      변경하여 모든 사용자나 선택된 사용자만이 컴퓨터에서 세션 구성을 사용할 수 있도록 허용하거나
      아무도 컴퓨터에서 세션 구성을 사용할 수 없게 할 수 있습니다.


 
  기본 세션 구성

      Windows PowerShell에는 Microsoft.PowerShell이라는 기본 제공 세션 구성이 포함되어 있습니다.
      64비트 버전의 Windows를 실행하는 컴퓨터에서 Windows PowerShell은 32비트 세션 구성인 
      Microsoft.PowerShell32도 제공합니다.

      이러한 세션 구성은 기본적으로 세션에 사용됩니다. 즉, 세션을 만드는 명령에 New-PSSession,
      Enter-PSSession 또는 Invoke-Command cmdlet의 ConfigurationName 매개 변수가 포함되어 있지
      않은 경우 이러한 세션 구성이 사용됩니다.

      기본 세션 구성의 보안 설명자는 로컬 컴퓨터에서 Administrators 그룹의 구성원만 기본 세션
      구성을 사용할 수 있도록 허용합니다. 이에 따라 기본 설정을 변경하지 않는 한 
      Administrators 그룹의 구성원만 컴퓨터에 원격으로 연결할 수 있습니다.

      $PSSessionConfigurationName 기본 설정 변수를 사용하여 기본 세션 구성을 변경할 수 
      있습니다. 자세한 내용은 about_Preference_Variables를 참조하십시오.



  로컬 컴퓨터에서 세션 구성 보기

      로컬 컴퓨터에서 세션 구성을 가져오려면 Get-PSSessionConfiguration cmdlet을 사용합니다. 

      예를 들어 다음과 같이 입력하십시오.

        C:\PS> get-pssessionconfiguration | format-list -property name, permission

        Name       : microsoft.powershell
        Permission : BUILTIN\Administrators AccessAllowed

        Name       : microsoft.powershell32
        Permission : BUILTIN\Administrators AccessAllowed


      Windows PowerShell에서 WS-Management 공급자를 사용하여 세션 구성을 볼 수도 있습니다.
      WS-Management 공급자는 현재 세션에서 WSMAN: 드라이브를 만듭니다.

      WSMAN: 드라이브에서 세션 구성은 Plugin 노드에 있습니다. 모든 세션 구성이 Plugin 노드에
      있지만 세션 구성이 아닌 항목도 Plugin 노드에 있습니다.

      예를 들어 로컬 컴퓨터에서 세션 구성을 보려면 다음과 같이 입력하십시오.

         C:\PS> dir wsman:\localhost\plugin\microsoft*
      
                    WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin

         Name                      Type                 Keys
         ----                      ----                 ----
         microsoft.powershell      Container            {Name=microsoft.powershell}
         microsoft.powershell32    Container            {Name=microsoft.powershell}


  원격 컴퓨터에서 세션 구성 보기

      원격 컴퓨터에서 세션 구성을 보려면 Connect-WSMan cmdlet을 사용하여 원격 컴퓨터에
      대한 정보를 로컬 컴퓨터의 WSMAN: 드라이브에 추가한 다음 WSMAN: 드라이브를 사용하여
      세션 구성을 확인합니다.

      예를 들어 다음 명령은 Server01 원격 컴퓨터의 노드를 로컬 컴퓨터의 WSMAN: 드라이브에
      추가합니다.

        C:\PS> connect-wsman server01.corp.fabrikam.com

      이 명령이 완료되면 Server01 컴퓨터의 노드로 이동하여 세션 구성을 볼 수 있습니다.
        
      예를 들면 다음과 같습니다.

        C:\PS> cd wsman:
        
        PS WSMan:\> dir 

        ComputerName                                  Type
        ------------                                  ----
        localhost                                     Container
        server01.corp.fabrikam.com                    Container

        PS WSMan:\> dir server01*\plugin\*


               WSManConfig: Microsoft.WSMan.Management\WSMan::server01.corp.fabrikam.com\Plugin

        Name                      Type                 Keys
        ----                      ----                 ----
        microsoft.powershell      Container            {Name=microsoft.powershell}
        microsoft.powershell32    Container            {Name=microsoft.powershell32}


  세션 구성의 보안 설명자 변경

      기본적으로 컴퓨터에 있는 Administrators 그룹의 구성원은 기본 세션 구성에 대한 실행 
      권한을 갖지만 기본 세션 구성과 사용자가 만드는 모든 세션 구성의 보안 설명자를 변경할
      수 있습니다.

      컴퓨터에 원격으로 연결할 수 있는 권한을 다른 사용자에게 제공하려면 
      Set-PSSessionConfiguration cmdlet을 사용하여 해당 사용자에 대한 "실행" 권한을 
      Microsoft.PowerShell 및 Microsoft.PowerShell32 세션 구성의 보안 설명자에 추가합니다.

      예를 들어 다음 명령은 Microsoft.PowerShell 기본 세션 구성의 보안 설명자를 변경하는 데
      사용할 수 있는 속성 페이지를 엽니다.

        C:\PS> set-pssessionConfiguration -name Microsoft.PowerShell -showSecurityDescriptorUI

      컴퓨터의 모든 세션 구성에 대한 사용 권한을 모든 사용자에게 거부하려면 Disable-PSRemoting
      함수나 Disable-PSSessionConfiguration cmdlet을 사용합니다. 예를 들어 다음 명령은 
      "Deny All" 항목을 컴퓨터의 모든 세션 구성에 추가합니다.

        C:\PS> disable-psremoting


      "Deny All" 항목을 특정 세션 구성에 추가하려면 Disable-PSSessionConfiguration cmdlet을
      사용합니다. 예를 들어 다음 명령은 "Deny All" 항목을 Microsoft.PowerShell 세션 구성에
      추가합니다.

        C:\PS> disable-pssessionConfiguration -name Microsoft.PowerShell
    

      모든 세션 구성에서 "Deny All" 항목을 제거하려면 Enable-PSRemoting 또는 
      Enable-PSSessionConfiguration cmdlet을 사용합니다. 예를 들어 다음 명령은 기본 세션 
      구성에서 "Deny All" 항목을 제거합니다.

        C:\PS> enable-pssessionConfiguration -name Microsoft.Power*


      세션 구성의 보안 설명자에서 다른 항목을 변경하려면 
      Set-PSSessionConfiguration cmdlet을 사용합니다. SDDL 문자열 값을 전송하려면 
      SecurityDescriptorSDDL 매개 변수를 사용하고, 새로운 SDDL을 만드는 데 도움이 되는
      사용자 인터페이스 속성 시트를 표시하려면 ShowSecurityDescriptorUI 매개 변수를 
      사용합니다.

      예를 들면 다음과 같습니다.
      
        C:\PS> set-pssessionConfiguration -name Microsoft.PowerShell -showSecurityDescriptorUI

     

  새 세션 구성 만들기

      로컬 컴퓨터에서 새 세션 구성을 만들려면 Register-PSSessionConfiguration cmdlet을
      사용합니다. 새 세션 구성을 정의하려면 C# 어셈블리, Window PowerShell 스크립트 및
      Register-PSSessionConfiguration cmdlet의 매개 변수를 사용할 수 있습니다.

      예를 들어 다음 명령은 원격 명령에서 받는 데이터를 20MB(메가바이트)로 제한하는 점을
      제외하고 Microsoft.PowerShell 세션 구성과 동일한 세션 구성을 만듭니다. 
      기본값은 50MB입니다.

        c:\PS> register-psSessionConfiguration -name NewConfig --MaximumReceivedDataSizePerCommandMB 20

      세션 구성을 만드는 경우 다른 세션 구성 cmdlet을 사용하여 세션 구성을 관리할 수 있고,
      이 세션 구성은 WSMAN: 드라이브에 나타납니다.

      자세한 내용은 Register-PSSessionConfiguration을 참조하십시오.


     
  세션 구성 제거

      로컬 컴퓨터에서 세션 구성을 제거하려면 Unregister-PSSessionConfiguration cmdlet을 
      사용합니다. 예를 들어 다음 명령은 NewConfig 세션 구성을 컴퓨터에서 제거합니다.

        c:\PS> unregister-psSessionConfiguration -name NewConfig

      자세한 내용은 Unregister-PSSessionConfiguration을 참조하십시오.



  세션 구성 선택

      세션에 대한 특정 세션 구성을 선택하려면 New-PSSession, Enter-PSSession 또는 
      Invoke-Command의 ConfigurationName 매개 변수를 사용합니다. 

      예를 들어 이 명령은 New-PSSession cmdlet을 사용하여 Server01 컴퓨터에서 
      PSSession을 시작합니다. 이 명령은 ConfigurationName 매개 변수를 사용하여
      Server01 컴퓨터에서 WithProfile 구성을 선택합니다.

        C:\PS> new-pssession -computername Server01 -configurationName WithProfile

      이 명령은 현재 사용자가 WithProfile 세션 구성을 사용할 수 있는 권한을 갖고
      있거나 필요한 사용 권한이 있는 사용자의 자격 증명을 제공할 수 있는 경우에만
      성공합니다.

      또한 $PSSessionConfigurationName 기본 설정 변수를 사용하여 컴퓨터의 기본 세션
      구성을 변경할 수 있습니다. $PSSessionConfigurationName 기본 설정 변수에 대한
      자세한 내용은 about_Preference_Variables를 참조하십시오.



참고 항목
    about_Preference_Variables
    about_PSSession
    about_Remote
    New-PSSession
    Disable-PSSessionConfiguration
    Enable-PSSessionConfiguration
    Get-PSSessionConfiguration
    Register-PSSessionConfiguration
    Set-PSSessionConfiguration
    Unregister-PSSessionConfiguration