Invoke-WSManAction

리소스 URI 및 선택기에 따라 지정된 개체에 대한 작업을 호출합니다.

Syntax

Invoke-WSManAction
      [-Action] <String>
      [-ConnectionURI <Uri>]
      [-FilePath <String>]
      [-OptionSet <Hashtable>]
      [[-SelectorSet] <Hashtable>]
      [-SessionOption <SessionOption>]
      [-ValueSet <Hashtable>]
      [-ResourceURI] <Uri>
      [-Credential <PSCredential>]
      [-Authentication <AuthenticationMechanism>]
      [-CertificateThumbprint <String>]
      [<CommonParameters>]
Invoke-WSManAction
      [-Action] <String>
      [-ApplicationName <String>]
      [-ComputerName <String>]
      [-FilePath <String>]
      [-OptionSet <Hashtable>]
      [-Port <Int32>]
      [[-SelectorSet] <Hashtable>]
      [-SessionOption <SessionOption>]
      [-UseSSL]
      [-ValueSet <Hashtable>]
      [-ResourceURI] <Uri>
      [-Credential <PSCredential>]
      [-Authentication <AuthenticationMechanism>]
      [-CertificateThumbprint <String>]
      [<CommonParameters>]

Description

RESOURCE_URI Invoke-WSManAction 지정된 개체에서 매개 변수가 키 값 쌍으로 지정되는 작업을 실행합니다.

이 cmdlet은 WSMan 연결/전송 계층을 사용하여 작업을 실행합니다.

예제

예제 1: 메서드 호출

Invoke-WSManAction -Action startservice -ResourceURI wmicimv2/win32_service  -SelectorSet @{name="spooler"} -Authentication default

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service
cim         : http://schemas.dmtf.org/wbem/wscim/1/common
lang        : en-US
ReturnValue : 0

이 명령은 Spooler 서비스에 해당하는 Win32_Service WMI 클래스 인스턴스의 StartService 메서드를 호출합니다.

반환 값은 작업의 성공 여부를 나타냅니다. 이 경우 반환 값 0은 성공을 나타냅니다. 반환 값이 5이면 서비스가 이미 시작되었음을 나타냅니다.

예제 2: 메서드 호출

Invoke-WSManAction -Action stopservice -ResourceURI wmicimv2/Win32_Service -SelectorSet @{Name="spooler"} -FilePath:input.xml -Authentication default

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service
cim         : http://schemas.dmtf.org/wbem/wscim/1/common
lang        : en-US
ReturnValue : 0

이 명령은 파일의 입력을 사용하여 Spooler 서비스에서 StopService 메서드를 호출합니다. 파일에 Input.xml는 다음 콘텐츠가 포함됩니다.

<p:StopService_INPUT xmlns:p="http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service" />

반환 값은 작업의 성공 여부를 나타냅니다. 이 경우 반환 값 0은 성공을 나타냅니다. 반환 값이 5이면 서비스가 이미 시작되었음을 나타냅니다.

예제 3: 지정된 매개 변수 값을 사용하여 메서드 호출

Invoke-WSManAction -Action create -ResourceURI wmicimv2/win32_process -ValueSet @{commandline="notepad.exe";currentdirectory="C:\"}

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Process
cim         : http://schemas.dmtf.org/wbem/wscim/1/common
lang        : en-US
ProcessId   : 6356
ReturnValue : 0

이 명령은 Win32_Process 클래스의 Create 메서드를 호출합니다. 메서드에 두 개의 매개 변수 값을 Notepad.exe 전달합니다 C:\. 따라서 메모장 실행하기 위해 새 프로세스가 만들어지고 새 프로세스의 현재 디렉터리가 로 C:\설정됩니다.

예제 4: 원격 컴퓨터에서 메서드 호출

Invoke-WSManAction -Action startservice -ResourceURI wmicimv2/win32_service  -SelectorSet @{name="spooler"} -ComputerName server01 -Authentication default

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service
cim         : http://schemas.dmtf.org/wbem/wscim/1/common
lang        : en-US
ReturnValue : 0

이 명령은 Spooler 서비스에 해당하는 Win32_Service WMI 클래스 인스턴스의 StartService 메서드를 호출합니다. ComputerName 매개 변수가 지정되었으므로 명령은 원격 server01 컴퓨터에 대해 실행됩니다.

반환 값은 작업의 성공 여부를 나타냅니다. 이 경우 반환 값 0은 성공을 나타냅니다. 반환 값이 5이면 서비스가 이미 시작되었음을 나타냅니다.

매개 변수

-Action

ResourceURI 및 선택기에서 지정한 관리 개체에서 실행할 메서드를 지정합니다.

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ApplicationName

연결의 애플리케이션 이름을 지정합니다. ApplicationName 매개 변수의 기본값은 WSMAN입니다. 원격 엔드포인트의 전체 식별자는 다음과 같은 형식입니다.

<Transport>://<Server>:<Port>/<ApplicationName>

예시:

http://server01:8080/WSMAN

세션을 호스트하는 IIS(인터넷 정보 서비스)는 이 엔드포인트가 있는 요청을 지정된 애플리케이션에 전달합니다. "WSMAN"의 이 기본 설정은 대부분의 용도에 적합합니다. 이 매개 변수는 많은 컴퓨터가 Windows PowerShell을 실행하는 한 컴퓨터에 원격 연결을 설정할 때 사용하도록 설계되었습니다. 이 경우 IIS는 효율성을 위해 WS-Management(Web Services for Management)를 호스트합니다.

Type:String
Position:Named
Default value:Wsman
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Authentication

서버에서 사용할 인증 메커니즘을 지정합니다. 가능한 값은 다음과 같습니다.

  • Basic - 기본은 사용자 이름과 암호가 서버 또는 프록시에 명확한 텍스트로 전송되는 체계입니다.
  • Default - WS-Management 프로토콜에 의해 구현된 인증 방법을 사용합니다. 기본값입니다.
  • Digest - 다이제스트는 챌린지에 서버 지정 데이터 문자열을 사용하는 챌린지-응답 체계입니다.
  • Kerberos - 클라이언트 컴퓨터와 서버는 Kerberos 인증서를 사용하여 상호 인증합니다.
  • Negotiate - 협상은 인증에 사용할 체계를 결정하기 위해 서버 또는 프록시와 협상하는 챌린지 응답 체계입니다. 예를 들어 이 매개 변수 값을 사용하면 협상을 통해 Kerberos 프로토콜 또는 NTLM이 사용되는지 여부를 결정할 수 있습니다.
  • CredSSP - 자격 증명을 위임할 수 있는 CredSSP(자격 증명 보안 지원 공급자) 인증을 사용합니다. 이 옵션은 한 원격 컴퓨터에서 실행되지만 다른 원격 컴퓨터에서 데이터를 수집하거나 다른 원격 컴퓨터에서 추가 명령을 실행하는 명령을 위해 설계되었습니다.

주의

CredSSP는 로컬 컴퓨터에서 원격 컴퓨터로 사용자의 자격 증명을 위임합니다. 이렇게 하면 원격 작업의 보안 위험이 증가합니다. 원격 컴퓨터가 손상된 경우 자격 증명이 원격 컴퓨터에 전달되면 자격 증명이 네트워크 세션을 제어하는 데 사용될 수 있습니다.

Type:AuthenticationMechanism
Aliases:auth, am
Accepted values:None, Default, Digest, Negotiate, Basic, Kerberos, ClientCertificate, Credssp
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CertificateThumbprint

이 작업을 수행할 수 있는 권한이 있는 사용자 계정의 디지털 공개 키 인증서(X509)를 지정합니다. 인증서의 인증서 지문을 입력합니다.

인증서는 클라이언트 인증서 기반 인증에 사용됩니다. 로컬 사용자 계정에만 매핑할 수 있습니다. do기본 계정으로는 작동하지 않습니다.

인증서 지문을 가져오려면 Windows PowerShell 인증서: 드라이브에서 또는 Get-ChildItem 명령을 사용합니다Get-Item.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ComputerName

관리 작업을 실행할 컴퓨터를 지정합니다. 값은 정규화된 do기본 이름, NetBIOS 이름 또는 IP 주소일 수 있습니다. 로컬 컴퓨터 이름을 사용하거나 localhost를 사용하거나 점(.)을 사용하여 로컬 컴퓨터를 지정합니다. 로컬 컴퓨터가 기본값입니다. 원격 컴퓨터가 사용자와 다른 do기본 있는 경우 정규화된 do기본 이름을 사용해야 합니다. 이 매개 변수의 값을 cmdlet으로 파이프할 수 있습니다.

Type:String
Aliases:cn
Position:Named
Default value:Localhost
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ConnectionURI

연결 엔드포인트를 지정합니다. 이 문자열의 형식은 다음과 같습니다.

<Transport>://<Server>:<Port>/<ApplicationName>

다음 문자열은 이 매개 변수에 대해 올바르게 서식이 지정된 값입니다.

http://Server01:8080/WSMAN

URI는 정규화되어야 합니다.

Type:Uri
Aliases:CURI, CU
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

이 작업을 수행할 권한이 있는 사용자 계정을 지정합니다. 기본값은 현재 사용자입니다. 사용자 이름(예: "User01", "Do기본01\User01" 또는 User@Domain.com.)을 입력합니다. 또는 cmdlet에서 반환한 개체와 같은 PSCredential 개체를 Get-Credential 입력합니다. 사용자 이름을 입력하면 암호를 입력하라는 메시지가 표시됩니다.

Type:PSCredential
Aliases:cred, c
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-FilePath

관리 리소스를 업데이트하는 데 사용되는 파일의 경로를 지정합니다. ResourceURI 매개 변수 및 SelectorSet 매개 변수를 사용하여 관리 리소스를 지정합니다. 예를 들어 다음 명령은 FilePath 매개 변수를 사용합니다.

Invoke-WSManAction -Action stopservice -ResourceUri wmicimv2/Win32_Service -SelectorSet @{Name="spooler"} -FilePath c:\input.xml -Authentication default

이 명령은 파일의 입력을 사용하여 Spooler 서비스에서 StopService 메서드를 호출합니다. 파일에 Input.xml는 다음 콘텐츠가 포함됩니다.

<p:StopService_INPUT xmlns:p="http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service" />

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OptionSet

요청의 특성을 수정하거나 구체화하기 위해 스위치 집합을 서비스에 전달합니다. 이는 명령줄 셸에 사용되는 스위치와 유사한데, 서비스에 국한되기 때문입니다. 원하는 수의 옵션을 지정할 수 있습니다.

다음 예제에서는 a, b 및 c 매개 변수의 값 1, 2 및 3을 전달하는 구문을 보여 줍니다.

-OptionSet @{a=1;b=2;c=3}

Type:Hashtable
Aliases:os
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Port

클라이언트가 WinRM 서비스에 연결할 때 사용할 포트를 지정합니다. 전송이 HTTP인 경우 기본 포트는 80입니다. 전송이 HTTPS인 경우 기본 포트는 443입니다. HTTPS를 전송으로 사용하는 경우 ComputerName 매개 변수 값이 서버의 CN(인증서 일반 이름)과 일치해야 합니다. 그러나 SkipCNCheck 매개 변수가 SessionOption 매개 변수의 일부로 지정된 경우 서버의 인증서 일반 이름이 서버의 호스트 이름과 일치할 필요가 없습니다. SkipCNCheck 매개 변수는 신뢰할 수 있는 컴퓨터에만 사용해야 합니다.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ResourceURI

리소스 클래스 또는 인스턴스의 URI(Uniform Resource Identifier)를 포함합니다. URI는 컴퓨터에서 디스크 또는 프로세스와 같은 특정 유형의 리소스를 식별하는 데 사용됩니다.

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

Type:Uri
Aliases:ruri
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-SelectorSet

특정 관리 리소스 인스턴스를 선택하는 데 사용되는 값 쌍 집합을 지정합니다. SelectorSet 은 둘 이상의 리소스 인스턴스가 있을 때 사용됩니다. SelectorSet은 해시 테이블이어야 합니다.

다음 예제에서는 이 매개 변수의 값을 입력하는 방법을 보여줍니다.

-SelectorSet @{Name="WinRM";ID="yyy"}

Type:Hashtable
Position:2
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-SessionOption

WS-Management 세션에 대한 확장된 옵션 집합을 정의합니다. cmdlet을 사용하여 만든 SessionOption 개체를 New-WSManSessionOption 입력합니다. 사용할 수 있는 옵션에 대한 자세한 내용은 다음을 참조하세요 New-WSManSessionOption.

Type:SessionOption
Aliases:so
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseSSL

SSL(Secure Sockets Layer) 프로토콜을 사용하여 원격 컴퓨터에 대한 연결을 설정하도록 지정합니다. 기본적으로 SSL은 사용되지 않습니다.

WS-Management는 네트워크를 통해 전송되는 모든 PowerShell 콘텐츠를 암호화합니다. UseSSL 매개 변수를 사용하면 HTTP 대신 HTTPS의 추가 보호를 지정할 수 있습니다. 연결에 사용되는 포트에 SSL을 사용할 수 없는 경우에 이 매개 변수를 지정하면 명령이 실패합니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ValueSet

관리 리소스를 수정하는 데 도움이 되는 해시 테이블을 지정합니다. ResourceURISelectorSet 매개 변수를 사용하여 관리 리소스를 지정합니다. ValueSet 매개 변수 값은 해시 테이블이어야 합니다.

Type:Hashtable
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

입력

None

개체를 이 cmdlet으로 파이프할 수 없습니다.

출력

XmlElement

이 cmdlet은 작업의 결과를 XmlElement 개체로 반환합니다.