등록된 세션 구성의 속성을 변경합니다.

구문

Set-PSSessionConfiguration [-AssemblyName] <string> [-ConfigurationTypeName] <string> [-Name] <string> [-ApplicationBase <string>] [-Force] [-MaximumReceivedDataSizePerCommandMB <double>] [-MaximumReceivedObjectSizeMB <double>] [-NoServiceRestart] [-SecurityDescriptorSDDL <string>] [-ShowSecurityDescriptorUI] [-StartupScript <string>] [-ThreadApartmentState {<STA> | <MTA> | <Unknown>}] [-ThreadOptions {<Default> | <UseNewThread> | <ReuseThread> | <UseCurrentThread>}] [-Confirm] [-WhatIf] [<CommonParameters>]

설명

Set-PSSessionConfiguration cmdlet은 로컬 컴퓨터에 등록된 세션 구성의 속성을 변경합니다. 이 cmdlet은 시스템 관리자가 사용자에 대한 사용자 지정된 세션 구성을 관리하는 데 사용하도록 설계된 고급 cmdlet입니다.

Name 매개 변수를 사용하여 변경하려는 구성을 식별할 수 있습니다. 다른 매개 변수를 사용하여 세션 구성의 속성에 대해 새 값을 지정할 수도 있습니다. 구성에서 속성 값을 삭제하고 기본값을 사용하려면 해당 매개 변수에 대해 빈 문자열("") 또는 $null 값을 입력합니다.

세션 구성의 속성을 확인하려면 Get-PSSessionConfiguration cmdlet 또는 WS-Management 공급자를 사용합니다. WS-Management 공급자에 대한 자세한 내용을 보려면 "Get-Help wsman"을 입력하십시오.

매개 변수

-ApplicationBase <string>

AssemblyName 매개 변수의 값에 지정되는 어셈블리 파일(*.dll)의 경로를 변경합니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-AssemblyName <string>

구성에 대해 다른 어셈블리 파일을 지정합니다. 구성 유형을 정의하는 어셈블리(.dll) 파일의 파일 이름과 경로(선택 사항)를 입력하십시오.

이름만 입력하는 경우 ApplicationBase 매개 변수의 값에 경로를 입력할 수 있습니다.

필수 여부

true

위치

2

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-ConfigurationTypeName <string>

구성에 대해 다른 구성 유형을 지정합니다. 지정한 유형이 System.Management.Automation.Remoting.PSSessionConfiguration 클래스를 구현해야 합니다.

"$null" 또는 빈 문자열을 입력하면 DefaultRemotePowerShellConfiguration 클래스가 세션 구성에 사용됩니다.

필수 여부

true

위치

3

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Force

모든 사용자 확인 메시지를 표시하지 않고 WinRM 서비스를 다시 시작합니다. 서비스를 다시 시작하면 구성 변경 내용이 적용됩니다.

다시 시작하지 않고 다시 시작에 대한 확인 메시지를 표시하지 않으려면 NoServiceRestart 매개 변수를 사용합니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-MaximumReceivedDataSizePerCommandMB <double>

단일 원격 명령으로 이 컴퓨터에 전송될 수 있는 데이터 양의 제한을 변경합니다. 데이터 크기를 MB 단위로 입력합니다. 기본값은 50MB입니다.

ConfigurationTypeName 매개 변수에 지정된 구성 유형에 데이터 크기 제한이 정의되어 있는 경우 구성 유형의 제한이 사용되고 이 매개 변수의 값은 무시됩니다.

필수 여부

false

위치

named

기본값

50

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-MaximumReceivedObjectSizeMB <double>

단일 개체로 이 컴퓨터에 전송될 수 있는 데이터 양의 제한을 변경합니다. 데이터 크기를 MB 단위로 입력합니다. 기본값은 10MB입니다.

ConfigurationTypeName 매개 변수에 지정된 구성 유형에 개체 크기 제한이 정의되어 있는 경우 구성 유형의 제한이 사용되고 이 매개 변수의 값은 무시됩니다.

필수 여부

false

위치

named

기본값

10

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Name <string>

변경하려는 세션 구성의 이름을 지정합니다.

이 매개 변수를 사용하여 세션 구성의 이름을 변경할 수는 없습니다.

필수 여부

true

위치

1

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-NoServiceRestart

WinRM 서비스를 다시 시작하지 않고, 서비스 다시 시작에 대한 확인 메시지를 표시하지 않습니다.

Set-PSSessionConfiguration 명령을 입력하면 기본적으로 WinRM 서비스를 다시 시작하여 새 세션 구성을 적용할지를 묻는 메시지가 표시됩니다. WinRM 서비스를 다시 시작해야 새 세션 구성이 적용됩니다.

확인 메시지를 표시하지 않고 WinRM 서비스를 다시 시작하려면 Force 매개 변수를 사용합니다. WinRM 서비스를 수동으로 다시 시작하려면 Restart-Service cmdlet을 사용합니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-SecurityDescriptorSDDL <string>

구성에 대해 다른 SDDL(Security Descriptor Definition Language) 문자열을 지정합니다.

이 문자열은 새 세션 구성을 사용하는 데 필요한 권한을 결정합니다. 세션에서 세션 구성을 사용하려면 최소한 구성에 대한 "실행(호출)" 권한이 사용자에게 있어야 합니다.

구성에 대한 기본 보안 설명자를 사용하려면 빈 문자열("") 또는 $null 값을 입력합니다. 기본값은 WSMan: 드라이브의 루트 SDDL입니다.

보안 설명자가 복잡한 경우 이 매개 변수 대신 ShowSecurityDescriptorUI 매개 변수를 사용하는 것도 고려하십시오. 같은 명령에서 두 매개 변수를 모두 사용할 수는 없습니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-ShowSecurityDescriptorUI

세션 구성에 대한 새 SDDL을 만드는 데 도움이 되는 속성 시트를 표시합니다. Set-PSSessionConfiguration 명령을 입력한 후 WinRM 서비스를 다시 시작하면 속성 시트가 나타납니다.

구성에 대한 사용 권한을 설정하는 경우 세션에서 세션 구성을 사용하려면 최소한 "실행(호출)" 권한이 사용자에게 있어야 함을 명심하십시오.

같은 명령에서 SecurityDescriptorSDDL 매개 변수와 이 매개 변수를 함께 사용할 수는 없습니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-StartupScript <string>

구성에 대한 시작 스크립트를 추가하거나 변경합니다. Windows PowerShell 스크립트에 대한 정규화된 경로를 입력하십시오. 지정한 스크립트는 세션 구성을 사용하는 새 세션에서 실행됩니다.

세션 구성에서 시작 스크립트를 삭제하려면 빈 문자열("") 또는 $null 값을 입력합니다.

시작 스크립트를 사용하여 사용자 세션을 추가로 구성할 수 있습니다. 스크립트에서 오류(종료되지 않는 오류 포함)가 생성되는 경우 세션이 만들어지지 않으며 사용자의 New-PSSession 명령이 실패합니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-ThreadApartmentState <ApartmentState>

세션의 스레드에 대한 아파트 상태 설정을 변경합니다. 유효한 값은 STA, MTA 및 Unknown입니다. 기본값은 Unknown입니다.

필수 여부

false

위치

named

기본값

ApartmentState.Unknown

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-ThreadOptions <PSThreadOptions>

구성의 스레드 옵션 설정을 변경합니다. 이 설정은 세션에서 명령을 실행할 때 스레드가 만들어져 사용되는 방법을 정의합니다. 유효한 값은 Default, ReuseThread, UseCurrentThread 및 UseNewThread입니다. 기본값은 UseCurrentThread입니다.

필수 여부

false

위치

named

기본값

PSThreadOptions.UserCurrentThread

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Confirm

명령을 실행하기 전에 확인 메시지를 표시합니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-WhatIf

명령을 실제로 실행하지 않고도 명령이 실행될 경우 발생할 수 있는 현상을 설명합니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

<CommonParameters>

이 cmdlet은 -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, -OutVariable 등의 일반 매개 변수를 지원합니다. 자세한 내용은 about_Commonparameters.

입력 및 출력

입력 유형은 cmdlet으로 파이프할 수 있는 개체의 유형입니다. 반환 유형은 cmdlet에서 반환되는 개체의 유형입니다.

입력

없음

입력을 이 cmdlet으로 파이프할 수 없습니다.

출력

Microsoft.WSMan.Management.WSManConfigLeafElement

참고

Windows Vista 및 Windows Server 2008 이상 버전에서 이 cmdlet을 실행하려면 "관리자 권한으로 실행" 옵션을 사용하여 Windows PowerShell을 열어야 합니다.

Set-PSSessionConfiguration cmdlet은 구성 이름을 변경하지 않으며 WS-Management 공급자는 Rename-Item cmdlet을 지원하지 않습니다. 구성의 이름을 변경하려면 Unregister-PSSessionConfiguration cmdlet을 사용하여 구성을 삭제한 다음 Register-PSSessionConfiguration cmdlet을 사용하여 새 세션 구성을 만들고 등록합니다.

Set-PSSessionConfiguration cmdlet을 사용하여 기본 Microsoft.PowerShell 및 Microsoft.PowerShell32 세션 구성을 변경할 수 있습니다. 이러한 구성은 보호되지 않습니다. 기본 세션 구성의 원래 버전으로 되돌리려면 Unregister-PSSessionConfiguration cmdlet을 사용하여 기본 세션 구성을 삭제한 다음 Enable-PSRemoting cmdlet을 사용하여 복원합니다.

예 1

C:\PS>set-pssessionconfiguration -name MaintenanceShell -threadApartmentState STA

설명
-----------
이 명령은 MaintenanceShell 구성의 스레드 아파트 상태를 STA로 변경합니다. 변경 내용은 WinRM 서비스를 다시 시작할 때 적용됩니다.






예 2

C:\PS>register-pssessionconfiguration -name AdminShell -assemblyName c:\shells\AdminShell.dll -configurationType AdminClass

C:\PS> set-pssessionconfiguration -name AdminShell -startupScript AdminConfig.ps1

C:\PS> set-pssessionconfiguration -name AdminShell -startupScript $null

설명
-----------
이 예에서는 세션 구성을 만든 다음 변경하는 방법을 보여 줍니다.

첫 번째 명령은 Register-PSSessionConfiguration cmdlet을 사용하여 AdminShell 구성을 만듭니다. 

두 번째 명령은 Set-PSSessionConfiguration cmdlet을 사용하여 AdminConfig.ps1 스크립트를 구성에 추가합니다. 변경 내용은 WinRM을 다시 시작할 때 적용됩니다.

세 번째 명령은 AdminConfig.ps1 스크립트를 구성에서 제거합니다. 이 명령은 StartupScript 매개 변수에 대해 $null 값을 지정하여 Set-PSSessionConfiguration cmdlet을 사용합니다.






예 3

C:\PS>Set-PSSessionConfiguration -name foo -MaximumReceivedObjectSizeMB 20

   WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin\foo\InitializationParameters

ParamName                       ParamValue
---------                       ----------
psmaximumreceivedobjectsizemb   20

"Restart WinRM service"
WinRM service need to be restarted to make the changes effective. Do you want to run the command "restart-service winrm"?
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): y

설명
-----------
이 예에서는 Set-PSSessionConfiguration cmdlet의 샘플 출력을 보여 줍니다. 

이 예의 Set-PSSessionConfiguration 명령은 MaximumReceivedObjectSizeMB 속성의 값을 20으로 늘립니다. 

Set-PSSessionConfiguration 명령은 매개 변수 이름과 새 값을 표시하는 Microsoft.WSMan.Management.WSManConfigLeafElement 개체를 반환합니다.

또한 WinRM 서비스를 다시 시작하라는 메시지를 표시합니다. WinRM 서비스를 다시 시작해야 Set-PSSessionConfiguration 변경 내용이 적용됩니다.






예 4

C:\PS>set-pssessionconfiguration -name MaintenanceShell -startupScript c:\ps-test\Maintenance.ps1


   WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin\MaintenanceShell\InitializationParameters

ParamName            ParamValue
---------            ----------
startupscript        c:\ps-test\Mainte...

"Restart WinRM service"
WinRM service need to be restarted to make the changes effective. Do you want to run the command "restart-service winrm"?
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): y


C:\PS> get-pssessionConfiguration maintenanceshell | format-list -property *

xmlns            : https://schemas.microsoft.com/wbem/wsman/1/config/PluginConfiguration
Name             : MaintenanceShell
Filename         : %windir%\system32\pwrshplugin.dll
SDKVersion       : 1
XmlRenderingType : text
lang             : en-US
PSVersion        : 2.0
startupscript    : c:\ps-test\Maintenance.ps1
ResourceUri      : https://schemas.microsoft.com/powershell/MaintenanceShell
SupportsOptions  : true
ExactMatch       : true
Capability       : {Shell}
Permission       :


C:\PS> dir wsman:\localhost\plugin\MaintenanceShell\InitializationParameters

ParamName     ParamValue
---------     ----------
PSVersion     2.0
startupscript c:\ps-test\Maintenance.ps1

설명
-----------
이 명령은 Set-PSSessionConfiguration 명령의 결과를 보는 여러 방법을 표시합니다.

첫 번째 명령은 Set-PSSessionConfiguration cmdlet을 사용하여 MaintenanceShell 구성의 시작 스크립트를 Maintenance.ps1로 변경합니다. 이 명령의 출력에는 변경 내용과 WinRM 서비스를 다시 시작하라는 메시지가 표시됩니다. "y"(예)로 응답하십시오.

두 번째 명령은 Get-PSSessionConfiguration cmdlet을 사용하여 MaintenanceShell 세션 구성을 가져옵니다. 명령이 파이프라인 연산자(|)를 사용하여 명령의 결과를 Format-List cmdlet으로 보내고, 이 cmdlet은 세션 구성 개체의 모든 속성을 목록으로 표시합니다.

세 번째 명령은 WS-Management 공급자를 사용하여 MaintenanceShell 구성에 대한 초기화 매개 변수를 표시합니다. 이 명령은 Get-ChildItem cmdlet(별칭 = dir)을 사용하여 MaintenanceShell 플러그인에 대한 InitializationParameters 노드의 하위 항목을 가져옵니다.

WS-Management 공급자에 대한 자세한 내용을 보려면 "get-help wsman"을 입력하십시오.






참고 항목




목차