about_WSMan_Provider

공급자 이름

WSMan

드라이브

WSMan:

간단한 설명

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

자세한 설명

이 정보는 Windows에서 실행되는 PowerShell에만 적용됩니다.

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 관리 셸의 다양한 측면을 구성할 수 있습니다.

  • 수신기: 수신기를 만들고 구성할 수 있습니다. 수신기는 메시지를 보내고 받을 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 공급자의 디렉터리 계층 구조는 로컬 컴퓨터와 동일합니다. 그러나 원격 컴퓨터의 구성 설정에 액세스하려면 커넥트-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 를 지원합니다. 다음 예제에서는 새 값 "*.do기본2.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 보안 디렉터리(특정 리소스)에 보안 항목을 만듭니다. 이 명령은 리소스 항목이 별도의 명령을 사용하여 만들어졌다고 가정합니다.

$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 항목을 만듭니다. 새 ClientCertificate는 ClientCertificate 디렉터리 아래에 "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을 사용하는 경우에만 사용할 수 있습니다.

주소 <문자열>

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

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

참고 항목

수신기를 만들 때 주소 값이 설정됩니다.

지원되는 Cmdlet

기능 <열거형>

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

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

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

    참고 항목

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

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

    참고 항목

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

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

    참고 항목

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

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

    참고 항목

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

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

    참고 항목

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

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

    참고 항목

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

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

    참고 항목

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

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

    참고 항목

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

    참고 항목

    URI에 대해 셸 작업이 구성된 경우 WinRM(WS-Management) 서비스 내에서 셸을 관리하기 위해 가져오기, 배치, 만들기, 삭제, 호출 및 열거 작업이 내부적으로 처리됩니다. 따라서 플러그 인에서 작업을 처리할 수 없습니다.

지원되는 Cmdlet

CertificateThumbprint <문자열>

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

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

지원되는 Cmdlet

사용 부 <울>

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

지원되는 Cmdlet

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

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

지원되는 Cmdlet

HostName <문자열>

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

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

지원되는 Cmdlet

발급자 <문자열>

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

지원되는 Cmdlet

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

지원되는 Cmdlet

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

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

지원되는 Cmdlet

리소스 <문자열>

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

URI(Uniform Resource Identifier)에는 접두사 및 리소스 경로가 포함되어 있습니다. 예시:

http://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는 접두사와 리소스 경로로 구성됩니다. 예시:

http://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], , [A-Z][9-0]밑줄(_) 및 백슬래시(/)만 포함하는 문자열입니다. 문자열은 백슬래시(/)로 시작하거나 끝나서는 안 됩니다. 예를 들어 컴퓨터 이름이 "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에 대한 사용자 지정된 도움말 항목을 가져올 수 있습니다.

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

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

참고 항목