항목
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