다음을 통해 공유


WSMan 공급자

공급자 이름

WSMan

드라이브

WSMan:

간단한 설명

WS-Management(Web Services for Management) 구성 정보에 대한 액세스를 제공합니다.

자세한 설명

PowerShell용 WSMan 공급자를 사용하면 로컬 또는 원격 컴퓨터에서 WS-Management 구성 데이터를 추가, 변경, 지우기 및 삭제할 수 있습니다.

WSMan 공급자는 WS-Management 구성 설정의 논리적 그룹화에 해당하는 디렉터리 구조가 있는 PowerShell 드라이브를 노출합니다. 이러한 그룹을 컨테이너라고 합니다.

Windows PowerShell 3.0부터 WSMan 공급자가 OutputBufferingMode와 같은 세션 구성에 대한 새 속성을 지원하도록 업데이트되었습니다. 세션 구성은 드라이브의 WSMan: 플러그 인 디렉터리에 항목으로 표시되고 속성은 각 세션 구성의 항목으로 표시됩니다.

WSMan 공급자는 이 문서에서 설명하는 다음 cmdlet을 지원합니다.

참고

드라이브에서 WSMan: 명령을 사용하여 새 속성의 값을 변경할 수 있습니다. 그러나 PowerShell 2.0의 WSMan: 드라이브를 사용하여 Windows PowerShell 3.0에 도입된 속성을 변경할 수 없습니다. 오류가 생성되지는 않지만 명령은 유효하지 않습니다. 이러한 설정을 변경하려면 Windows PowerShell 3.0에서 WSMan 드라이브를 사용합니다.

WSMan 구성: 드라이브

  • 클라이언트: WS-Management 클라이언트의 다양한 측면을 구성할 수 있습니다. 구성 정보는 레지스트리에 저장됩니다.

  • 서비스: WS-Management 서비스의 다양한 측면을 구성할 수 있습니다. 구성 정보는 레지스트리에 저장됩니다.

    참고

    경우에 따라 서비스 구성을 서버 구성이라고 합니다.

  • : 원격 셸 액세스를 허용하는 설정(AllowRemoteShellAccess) 및 허용되는 최대 동시 사용자 수(MaxConcurrentUsers)와 같은 WS-Management 셸의 다양한 측면을 구성할 수 있습니다.

  • 수신기: 수신기를 만들고 구성할 수 있습니다. 수신기는 메시지를 보내고 받을 WS-Management 프로토콜을 구현하는 관리 서비스입니다.

  • 플러그 인: 플러그 인이 로드되고 WS-Management 서비스에서 다양한 기능을 제공하는 데 사용됩니다. 기본적으로 PowerShell은 다음 세 가지 플러그 인을 제공합니다.

    • 이벤트 전달 플러그 인입니다.
    • Microsoft.PowerShell 플러그 인.
    • WMI(Windows Management Instrumentation) 공급자 플러그 인입니다. 이러한 세 가지 플러그 인은 이벤트 전달, 구성 및 WMI 액세스를 지원합니다.
  • ClientCertificate: 클라이언트 인증서를 만들고 구성할 수 있습니다. 클라이언트 인증서는 WS-Management 클라이언트가 인증서 인증을 사용하도록 구성된 경우에 사용됩니다.

WSMan 공급자의 디렉터리 계층 구조

로컬 컴퓨터에 대한 WSMan 공급자의 디렉터리 계층 구조는 다음과 같습니다.

WSMan:\localhost
--- Client
--- Service
--- Shell
--- Listener
------ <Specific_Listener>
--- Plugin
------ Event Forwarding Plugin
--------- InitializationParameters
--------- Resources
------------ Security
------ Microsoft.Powershell
--------- InitializationParameters
--------- Resources
------------ Security
------ WMI Provider
--------- InitializationParameters
--------- Resources
------------ Security
--- ClientCertificate

로컬 컴퓨터와 원격 컴퓨터의 WSMan 공급자 디렉터리 계층 구조는 동일합니다. 그러나 원격 컴퓨터의 구성 설정에 액세스하려면 Connect-WSMan을 사용하여 원격 컴퓨터에 연결해야 합니다. 원격 컴퓨터에 연결되면 원격 컴퓨터의 이름이 공급자에 표시됩니다.

WSMan:\<Remote_Computer_Name>

이 명령은 cmdlet을 Set-Location 사용하여 현재 위치를 드라이브로 변경합니다 WSMan: .

Set-Location WSMan:

파일 시스템 드라이브로 돌아가려면 드라이브 이름을 입력합니다. 예를 들어 를 입력합니다.

Set-Location C:

이 명령은 명령을 사용하여 Set-Location 현재 위치를 원격 시스템 저장소 위치의 루트 위치로 변경합니다. 백슬래시 \ 또는 슬래시 / 를 사용하여 드라이브 수준을 WSMan: 나타냅니다.

Set-Location -Path  WSMan:\SERVER01

참고

위의 명령은 원격 시스템에 대한 연결이 이미 있다고 가정합니다.

WSMan: 드라이브의 내용 표시

이 명령은 cmdlet을 Get-Childitem 사용하여 Localhost 저장소 위치에 WS-Management 저장소를 표시합니다.

Get-ChildItem -path WSMan:\Localhost

드라이브에 WSMan: 있는 경우 드라이브 이름을 생략할 수 있습니다.

이 명령은 cmdlet을 Get-Childitem 사용하여 원격 컴퓨터 "SERVER01" 저장소 위치에 WS-Management 저장소를 표시합니다.

Get-ChildItem -path WSMan:\SERVER01

참고

위의 명령은 원격 시스템에 대한 연결이 이미 있다고 가정합니다.

WSMAN에서 항목 값 설정: 드라이브

cmdlet을 Set-Item 사용하여 드라이브의 WSMAN 구성 설정을 변경할 수 있습니다. 다음 예제에서는 "contoso.com" 접미사가 있는 모든 호스트를 허용하도록 TrustedHosts 값을 설정합니다.

# You do not need to specify the -Path parameter name when using Set-Item.
PS WSMAN:\localhost\Client> Set-Item .\TrustedHosts -Value "*.contoso.com"

cmdlet은 Set-Item 값을 변경하는 대신 값을 추가하는 추가 매개 변수 -Concatenate 를 지원합니다. 다음 예제에서는 에 저장된 이전 값에 새 값 "*.domain2.com"을 추가합니다. TrustedHost:

Set-Item WSMAN:\localhost\Client\TrustedHosts *.domain2.com -Concatenate

WSMAN에서 항목 만들기: 드라이브

새 수신기 만들기

cmdlet은 New-Item 공급자 드라이브 내에 항목을 만듭니다. 각 공급자에는 만들 수 있는 다양한 항목 유형이 있습니다. 드라이브에서 WSMAN: 원격 요청을 받고 응답하도록 구성하는 수신기 를 만들 수 있습니다. 다음 명령은 cmdlet을 사용하여 새 HTTP 수신기를 New-Item 만듭니다.

New-Item -Path WSMan:\localhost\Listener -Address * -Transport HTTP -force

새 플러그 인 만들기

이 명령은 WS-Management 서비스용 플러그 인을 만듭니다(등록).

New-Item -Path WSMan:\localhost\Plugin `
         -Plugin TestPlugin `
         -FileName %systemroot%\system32\WsmWmiPl.dll `
         -Resource http://schemas.dmtf.org/wbem/wscim/2/cim-schema `
         -SDKVersion 1 `
         -Capability "Get","Put","Invoke","Enumerate" `
         -XMLRenderingType text

새 리소스 항목 만들기

이 명령은 TestPlugin의 Resources 디렉터리에 리소스 항목을 만듭니다. 이 명령은 별도의 명령을 사용하여 TestPlugin을 만들었다고 가정합니다.

New-Item -Path WSMan:\localhost\Plugin\TestPlugin\Resources `
         -ResourceUri http://schemas.dmtf.org/wbem/wscim/3/cim-schema `
         -Capability "Enumerate"

리소스에 대한 새 보안 항목 만들기

이 명령은 Resource_5967683(특정 리소스)의 Security 디렉터리에 보안 항목을 만듭니다. 이 명령은 리소스 항목이 별도의 명령을 사용하여 만들어졌다고 가정합니다.

$path = "WSMan:\localhost\Plugin\TestPlugin\Resources\Resource_5967683"
New-Item -Path $path\Security `
         -Sddl "O:NSG:BAD:P(A;;GA;;;BA)S:P(AU;FA;GA;;;WD)(AU;SA;GWGX;;;WD)"

새 클라이언트 인증서 만들기

이 명령은 WS-Management 클라이언트에서 사용할 수 있는 ClientCertificate 항목을 만듭니다. 새 ClientCertificateClientCertificate 디렉터리 아래에 "ClientCertificate_1234567890"로 표시됩니다. 모든 매개 변수는 필수 사항입니다. 발급자는 발급자 인증서의 지문이어야 합니다.

$cred = Get-Credential
New-Item -Path WSMan:\localhost\ClientCertificate `
         -Issuer 1b3fd224d66c6413fe20d21e38b304226d192dfe `
         -URI wmicimv2/* `
         -Credential $cred;

새 초기화 매개 변수 만들기

이 명령은 "InitializationParameters" 디렉터리에 "testparametername"이라는 Initialization 매개 변수를 만듭니다. 이 명령은 별도의 명령을 사용하여 "TestPlugin"을 만들었다고 가정합니다.

New-Item -Path WSMan:\localhost\Plugin\TestPlugin\InitializationParameters `
         -ParamName testparametername `
         -ParamValue testparametervalue

동적 매개 변수

동적 매개 변수는 PowerShell 공급자에 의해 추가되는 cmdlet 매개 변수이며 공급자 사용 드라이브에서 cmdlet을 사용하는 경우에만 사용할 수 있습니다.

주소 <문자열>

이 수신기가 만들어진 주소를 지정합니다. 값은 다음 중 하나일 수 있습니다.

  • 리터럴 문자열 "*"입니다. (와일드카드 문자(*)는 명령이 모든 네트워크 어댑터의 모든 IP 주소를 바인딩합니다.)
  • 리터럴 문자열 "IP:" 뒤에 IPv4 점선 10진수 형식 또는 IPv6 복제-16진수 형식의 유효한 IP 주소가 잇습니다.
  • 리터럴 문자열 "MAC:" 뒤에 어댑터의 MAC 주소입니다. 예: MAC:32-a3-58-90-be-cc.

참고

Address 값은 수신기를 만들 때 설정됩니다.

지원되는 Cmdlet

기능 <열거형>

플러그 인을 사용할 때 이 매개 변수는 이 URI(Uniform Resource Identifier)에서 지원되는 작업을 지정합니다. URI가 지원하는 각 작업 유형에 대해 하나의 항목을 만들어야 합니다. 작업이 지원하는 경우 지정된 작업에 유효한 특성을 지정할 수 있습니다.

이러한 특성에는 SupportsFilteringSupportsFragment가 포함됩니다.

  • Create: Create 작업은 URI에서 지원됩니다.
    • SupportFragment 특성은 Create 작업이 개념을 지원하는 경우에 사용됩니다.
    • SupportFiltering 특성은 Create 작업에 유효하지 않으며 "False"로 설정해야 합니다.

    참고

    Shell 작업도 지원되는 경우 이 작업은 URI에 대해 유효하지 않습니다.

  • 삭제: 삭제 작업은 URI에서 지원됩니다.
    • Delete 작업이 개념을 지원하는 경우 SupportFragment 특성이 사용됩니다.
    • SupportFiltering 특성은 삭제 작업에 유효하지 않으며 "False"로 설정해야 합니다.

    참고

    Shell 작업도 지원되는 경우 이 작업은 URI에 대해 유효하지 않습니다.

  • 열거형: URI에서 열거 작업이 지원됩니다.
    • SupportFragment 특성은 열거 작업에 지원되지 않으며 False로 설정해야 합니다.
    • SupportFiltering 특성이 유효하며 플러그 인이 필터링을 지원하는 경우 이 특성을 "True"로 설정해야 합니다.

    참고

    Shell 작업도 지원되는 경우 이 작업은 URI에 대해 유효하지 않습니다.

  • 가져오기: 가져오기 작업은 URI에서 지원됩니다.
    • Get 작업이 개념을 지원하는 경우 SupportFragment 특성이 사용됩니다.
    • SupportFiltering 특성은 가져오기 작업에 유효하지 않으며 "False"로 설정해야 합니다.

    참고

    Shell 작업도 지원되는 경우 이 작업은 URI에 대해 유효하지 않습니다.

  • 호출: 호출 작업은 URI에서 지원됩니다.
    • SupportFragment 특성은 Invoke 작업에 지원되지 않으며 False로 설정해야 합니다.
    • SupportFiltering 특성이 잘못되었으며 "False"로 설정해야 합니다.

    참고

    Shell 작업도 지원되는 경우 이 작업은 URI에 대해 유효하지 않습니다.

  • Put: Put 작업은 URI에서 지원됩니다.
    • Put 작업이 개념을 지원하는 경우 SupportFragment 특성이 사용됩니다.
    • SupportFiltering 특성은 Put 작업에 유효하지 않으며 "False"로 설정해야 합니다.

    참고

    Shell 작업도 지원되는 경우 이 작업은 URI에 대해 유효하지 않습니다.

  • 구독: 구독 작업은 URI에서 지원됩니다.
    • SupportFragment 특성은 구독 작업에 지원되지 않으며 False로 설정해야 합니다.
    • SupportFiltering 특성은 구독 작업에 유효하지 않으며 "False"로 설정해야 합니다.

    참고

    Shell 작업도 지원되는 경우 이 작업은 URI에 대해 유효하지 않습니다.

  • : URI에서 셸 작업이 지원됩니다.
    • SupportFragment 특성은 셸 작업에 지원되지 않으며 "False"로 설정해야 합니다.
    • SupportFiltering 특성은 셸 작업에 유효하지 않으며 "False"로 설정해야 합니다.

    참고

    다른 작업도 지원되는 경우 이 작업은 URI에 유효하지 않습니다.

    참고

    URI에 대해 Shell 작업이 구성된 경우 Get, Put, Create, Delete, Invoke 및 Enumerate 작업은 셸을 관리하기 위해 WS-Management(WinRM) 서비스에서 내부적으로 처리됩니다. 따라서 플러그 인에서 작업을 처리할 수 없습니다.

지원되는 Cmdlet

CertificateThumbprint <문자열>

서비스 인증서의 지문을 지정합니다.

이 값은 인증서의 Thumbprint 필드에 있는 2자리 16진수 값의 문자열을 나타냅니다. 이 작업을 수행할 권한이 있는 사용자 계정의 디지털 공개 키 인증서(X509)를 지정합니다. 인증서는 클라이언트 인증서 기반 인증에 사용됩니다. 인증서는 로컬 사용자 계정으로만 매핑될 수 있고 도메인 계정에는 사용할 수 없습니다. 인증서 지문을 가져오려면 PowerShell Cert: 드라이브에서 Get-Item 또는 Get-ChildItem cmdlet을 사용합니다.

지원되는 Cmdlet

사용 부 <울>

수신기를 사용하도록 설정할지 또는 사용하지 않도록 설정할지를 지정합니다. 기본값은 true입니다.

지원되는 Cmdlet

FileName(플러그 인) <문자열>

작업 플러그 인의 파일 이름을 지정합니다. 요청이 수신되면 이 항목에 포함된 모든 환경 변수가 사용자의 컨텍스트에서 확장됩니다. 각 사용자는 동일한 환경 변수의 다른 버전을 가질 수 있으므로 각 사용자는 다른 플러그 인을 가질 수 있습니다. 이 항목은 비어 있을 수 없으며 유효한 플러그 인을 가리킵니다.

지원되는 Cmdlet

HostName <문자열>

WS-Management(WinRM) 서비스가 실행되는 컴퓨터의 호스트 이름을 지정합니다.

값은 정규화된 도메인 이름, IPv4 또는 IPv6 리터럴 문자열 또는 와일드카드 문자여야 합니다.

지원되는 Cmdlet

발급자 <문자열>

인증서를 발급한 인증 기관의 이름을 지정합니다.

지원되는 Cmdlet

에 연결하고 WS-Management 기능을 확장합니다. WSW-Management 플러그 인 API는 사용자가 지원되는 리소스 URI 및 작업에 대해 특정 API를 구현하여 플러그 인을 작성할 수 있도록 하는 기능을 제공합니다. 플러그 인이 WS-Management(WinRM) 서비스 또는 IIS(인터넷 정보 서비스)에 대해 구성된 경우 각각 WS-Management 호스트 또는 IIS 호스트에 로드됩니다. 원격 요청은 작업을 수행하기 위해 이러한 플러그 인 진입점에 라우팅됩니다.

지원되는 Cmdlet

포트 <부호 없는 짧은 정수>

이 수신기가 만들어지는 TCP 포트를 지정합니다. 1에서 65535 사이의 값을 지정할 수 있습니다.

지원되는 Cmdlet

리소스 <문자열>

고유한 유형의 관리 작업 또는 값을 나타내는 엔드포인트를 지정합니다. 서비스는 하나 이상의 리소스를 표시하고, 일부 리소스는 둘 이상의 인스턴스를 가질 수 있습니다. 관리 리소스는 WMI 클래스 또는 데이터베이스 테이블과 유사하며, 인스턴스는 클래스 인스턴스나 테이블의 행과 유사합니다. 예를 들어 Win32_LogicalDisk 클래스는 리소스를 나타냅니다. Win32_LogicalDisk="C:\\"는 리소스의 특정 instance.

URI(Uniform Resource Identifier)에는 접두사와 리소스 경로가 포함됩니다. 예를 들면 다음과 같습니다.

https://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk

http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_NumericSensor

지원되는 Cmdlet

리소스 <문자열>

디스크 또는 프로세스와 같은 컴퓨터의 특정 리소스 유형을 식별하는 URI(Uniform Resource Identifier)를 지정합니다.

URI는 접두사와 리소스 경로로 구성됩니다. 예를 들면 다음과 같습니다.

https://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk

http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_NumericSensor

지원되는 Cmdlet

SDKVersion <문자열>

WS-Management 플러그 인 SDK의 버전을 지정합니다. 유효한 값은 1뿐입니다.

지원되는 Cmdlet

제목 <문자열>

인증서로 식별되는 엔티티를 지정합니다.

지원되는 Cmdlet

전송 <문자열>

WS-Management 프로토콜 요청 및 응답을 보내고 받는 데 사용할 전송을 지정합니다. 값은 HTTP 또는 HTTPS여야 합니다.

참고: 수신기를 만들 때 전송 값이 설정됩니다.

지원되는 Cmdlet

URI <문자열>

Sddl 매개 변수의 값을 기준으로 액세스 권한이 부여되는 URI를 식별합니다.

지원되는 Cmdlet

URLPrefix <문자열>

HTTP 또는 HTTPS 요청을 수락할 URL 접두사입니다. 이 문자열은 , [A-Z][9-0]밑줄() 및 백슬래시(_/)만 [a-z]포함하는 문자열입니다. 문자열은 로 시작하거나 백슬래시(/)로 끝나서는 안 됩니다. 예를 들어 컴퓨터 이름이 "SampleComputer"인 경우 WS-Management 클라이언트는 대상 주소에 를 지정 http://SampleMachine/URLPrefix 합니다.

지원되는 Cmdlet

값 <문자열>

구성 옵션을 지정하는 데 사용되는 플러그 인 관련 값인 초기화 매개 변수 값을 지정합니다.

지원되는 Cmdlet

XMLRenderingType <문자열>

xml이 WSMAN_DATA 개체를 통해 플러그 인에 전달되는 형식을 지정합니다. 다음은 유효한 값입니다.

  • 텍스트: 들어오는 XML 데이터는 PCWSTR 메모리 버퍼로 XML을 나타내는 WSMAN_DATA_TYPE_TEXT 구조에 포함됩니다.
  • XMLReader: 들어오는 XML 데이터는 " WebServices.h" 헤더 파일에 정의된 XmlReader 개체로 XML을 나타내는 WSMAN_DATA_TYPE_WS_XML_READER 구조체에 포함됩니다.

지원되는 Cmdlet

파이프라인 사용

공급자 cmdlet은 파이프라인 입력을 허용합니다. 파이프라인을 사용하여 공급자 데이터를 한 cmdlet에서 다른 공급자 cmdlet으로 전송하여 작업을 간소화할 수 있습니다. 공급자 cmdlet에서 파이프라인을 사용하는 방법에 대한 자세한 내용은 이 문서 전체에서 제공되는 cmdlet 참조를 참조하세요.

도움말 보기

Windows PowerShell 3.0부터는 이러한 cmdlet이 파일 시스템 드라이브에서 동작하는 방식을 설명하는 공급자 cmdlet에 대한 사용자 지정된 도움말 항목을 볼 수 있습니다.

파일 시스템 드라이브에 대해 사용자 지정된 도움말 topics 얻으려면 파일 시스템 드라이브에서 Get-Help 명령을 실행하거나 Get-Help 매개 변수를 사용하여 -Path 파일 시스템 드라이브를 지정합니다.

Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path wsman:

추가 정보

about_Providers