Get-WSMan Instance

Displays management information for a resource instance specified by a Resource URI.

Syntax

Get-WSManInstance
   [-ApplicationName <String>]
   [-ComputerName <String>]
   [-ConnectionURI <Uri>]
   [-Dialect <Uri>]
   [-Fragment <String>]
   [-OptionSet <Hashtable>]
   [-Port <Int32>]
   [-ResourceURI] <Uri>
   [-SelectorSet <Hashtable>]
   [-SessionOption <SessionOption>]
   [-UseSSL]
   [-Credential <PSCredential>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [<CommonParameters>]
Get-WSManInstance
   [-ApplicationName <String>]
   [-BasePropertiesOnly]
   [-ComputerName <String>]
   [-ConnectionURI <Uri>]
   [-Dialect <Uri>]
   [-Enumerate]
   [-Filter <String>]
   [-OptionSet <Hashtable>]
   [-Port <Int32>]
   [-Associations]
   [-ResourceURI] <Uri>
   [-ReturnType <String>]
   [-SessionOption <SessionOption>]
   [-Shallow]
   [-UseSSL]
   [-Credential <PSCredential>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [<CommonParameters>]

Description

The Get-WSManInstance cmdlet retrieves an instance of a management resource that is specified by a resource Uniform Resource Identifier (URI). The information that is retrieved can be a complex XML information set, which is an object, or a simple value. This cmdlet is the equivalent to the standard Web Services for Management (WS-Management) Get command.

This cmdlet uses the WS-Management connection/transport layer to retrieve information.

Examples

Example 1: Get all information from WMI

PS C:\> Get-WSManInstance -ResourceURI wmicimv2/win32_service -SelectorSet @{name="winrm"} -ComputerName "Server01"

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

type                    : p:Win32_Service_Type

lang                    : en-US

AcceptPause             : false

AcceptStop              : true

Caption                 : Windows Remote Management (WS-Management)

CheckPoint              : 0

CreationClassName       : Win32_Service

Description             : Windows Remote Management (WinRM) service implements the WS-Management protocol for remote

management. WS-Management is a standard web services protocol used for remote software and

hardware management. The WinRM service listens on the network for WS-Management requests

and processes them. The WinRM Service needs to be configured with a listener using the

winrm.cmd command line tool or through Group Policy in order for it to listen over the

network. The WinRM service provides access to WMI data and enables event collection. Event

collection and subscription to events require that the service is running. WinRM messages

use HTTP and HTTPS as transports. The WinRM service does not depend on IIS but is

preconfigured to share a port with IIS on the same computer.  The WinRM service reserves the

/wsman URL prefix. To prevent conflicts with IIS, administrators should ensure that any

websites hosted on IIS do not use the /wsman URL prefix.

DesktopInteract         : false

DisplayName             : Windows Remote Management (WS-Management)

ErrorControl            : Normal

ExitCode                : 0

InstallDate             : InstallDate

Name                    : winrm

PathName                : C:\Windows\System32\svchost.exe -k NetworkService

ProcessId               : 948

ServiceSpecificExitCode : 0

ServiceType             : Share Process

Started                 : true

StartMode               : Auto

StartName               : NT AUTHORITY\NetworkService

State                   : Running

Status                  : OK

SystemCreationClassName : Win32_ComputerSystem

SystemName              : SERVER01

TagId                   : 0

WaitHint                : 0

This command returns all of the information that Windows Management Instrumentation (WMI) exposes about the WinRM service on the remote server01 computer.

Example 2: Get the status of the Spooler service

PS C:\> Get-WSManInstance -ResourceURI wmicimv2/win32_service -SelectorSet @{name="spooler"} -Fragment Status -ComputerName "Server01"

XmlFragment=OK

This command returns only the status of the Spooler service on the remote server01 computer.

Example 3: Get endpoint references for all services

PS C:\> Get-WSManInstance -Enumerate -ResourceURI wmicimv2/win32_service -ReturnType EPR

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

type                    : p:Win32_Service_Type

lang                    : en-US

AcceptPause             : false

AcceptStop              : false

Caption                 : Visual Studio 2008 Remote Debugger

CheckPoint              : 0

CreationClassName       : Win32_Service

Description             : Allows members of the Administrators group to remotely debug server applications using Visual

Studio 2008. Use the Visual Studio 2008 Remote Debugging Configuration Wizard to enable this

service.

DesktopInteract         : false

DisplayName             : Visual Studio 2008 Remote Debugger

ErrorControl            : Ignore

ExitCode                : 1077

InstallDate             : InstallDate

Name                    : msvsmon90

PathName                : "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\x86\msvsmon.exe" /service msvsmon90

ProcessId               : 0

ServiceSpecificExitCode : 0

ServiceType             : Own Process

Started                 : false

StartMode               : Disabled

StartName               : LocalSystem

State                   : Stopped

Status                  : OK

SystemCreationClassName : Win32_ComputerSystem

SystemName              : COMPUTER01

TagId                   : 0

WaitHint                : 0

...

This command returns endpoint references that correspond to all the services on the local computer.

Example 4: Get services that meet specified criteria

PS C:\> Get-WSManInstance -Enumerate -ResourceURI wmicimv2/* -Filter "select * from win32_service where StartMode = 'Auto' and State = 'Stopped'" -ComputerName "Server01"

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

type                    : p:Win32_Service_Type

lang                    : en-US

AcceptPause             : false

AcceptStop              : false

Caption                 : Windows Media Center Service Launcher

CheckPoint              : 0

CreationClassName       : Win32_Service

Description             : Starts Windows Media Center Scheduler and Windows Media Center Receiver services

at startup if TV is enabled within Windows Media Center.

DesktopInteract         : false

DisplayName             : Windows Media Center Service Launcher

ErrorControl            : Ignore

ExitCode                : 0

InstallDate             : InstallDate

Name                    : ehstart

PathName                : C:\Windows\system32\svchost.exe -k LocalServiceNoNetwork

ProcessId               : 0

ServiceSpecificExitCode : 0

ServiceType             : Share Process

Started                 : false

StartMode               : Auto

StartName               : NT AUTHORITY\LocalService

State                   : Stopped

Status                  : OK

SystemCreationClassName : Win32_ComputerSystem

SystemName              : Server01

TagId                   : 0

WaitHint                : 0

...

This command lists all of the services that meet the following criteria on the remote Server01 computer:

  • The startup type of the service is Automatic.
  • The service is stopped.

Example 5: Get listener configuration that matches criteria on the local computer

PS C:\> Get-WSManInstance -ResourceURI winrm/config/listener -SelectorSet @{Address="*";Transport="http"}

cfg                   : http://schemas.microsoft.com/wbem/wsman/1/config/listener

xsi                   : http://www.w3.org/2001/XMLSchema-instance

lang                  : en-US

Address               : *

Transport             : HTTP

Port                  : 80

Hostname              :

Enabled               : true

URLPrefix             : wsman

CertificateThumbprint :

ListeningOn           : {100.0.0.1, 123.123.123.123, ::1, 2001:4898:0:fff:0:5efe:123.123.123.123...}

This command lists the WS-Management listener configuration on the local computer for the listener that matches the criteria in the selector set.

Example 6: Get listener configuration that matches criteria on a remote computer

PS C:\> Get-WSManInstance -ResourceURI winrm/config/listener -SelectorSet @{Address="*";Transport="http"} -ComputerName "Server01"

cfg                   : http://schemas.microsoft.com/wbem/wsman/1/config/listener

xsi                   : http://www.w3.org/2001/XMLSchema-instance

lang                  : en-US

Address               : *

Transport             : HTTP

Port                  : 80

Hostname              :

Enabled               : true

URLPrefix             : wsman

CertificateThumbprint :

ListeningOn           : {100.0.0.1, 123.123.123.124, ::1, 2001:4898:0:fff:0:5efe:123.123.123.124...}

This command lists the WS-Management listener configuration on the remote server01 computer for the listener that matches the criteria in the selector set.

Example 7: Get associated instances related to a specified instance

PS C:\> Get-WSManInstance -Enumerate -Dialect Association -Filter "{Object=win32_service?name=winrm}" -ResourceURI wmicimv2/*

xsi                       : http://www.w3.org/2001/XMLSchema-instance

p                         : http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_ComputerSystem

cim                       : http://schemas.dmtf.org/wbem/wscim/1/common

type                      : p:Win32_ComputerSystem_Type

lang                      : en-US

AdminPasswordStatus       : 1

AutomaticManagedPagefile  : true

AutomaticResetBootOption  : true

AutomaticResetCapability  : true

BootOptionOnLimit         : BootOptionOnLimit

BootOptionOnWatchDog      : BootOptionOnWatchDog

BootROMSupported          : true

BootupState               : Normal boot

Caption                   : SERVER01

ChassisBootupState        : 3

CreationClassName         : Win32_ComputerSystem

CurrentTimeZone           : -480

DaylightInEffect          : false

Description               : AT/AT COMPATIBLE

DNSHostName               : server01

Domain                    : site01.corp.fabrikam.com

DomainRole                : 1

EnableDaylightSavingsTime : true

FrontPanelResetStatus     : 2

InfraredSupported         : false

InstallDate               : InstallDate

KeyboardPasswordStatus    : 2

LastLoadInfo              : LastLoadInfo

Manufacturer              : Dell Inc.

Model                     : OptiPlex 745

Name                      : SERVER01

NameFormat                : NameFormat

NetworkServerModeEnabled  : true

NumberOfLogicalProcessors : 2

NumberOfProcessors        : 1

OEMStringArray            : www.dell.com

PartOfDomain              : true

PauseAfterReset           : -1

PCSystemType              : 5

PowerManagementSupported  : PowerManagementSupported

PowerOnPasswordStatus     : 1

PowerState                : 0

PowerSupplyState          : 3

PrimaryOwnerContact       : PrimaryOwnerContact

PrimaryOwnerName          : testuser01

ResetCapability           : 1

ResetCount                : -1

ResetLimit                : -1

Roles                     : {LM_Workstation, LM_Server, SQLServer, NT}

Status                    : OK

SystemStartupDelay        : SystemStartupDelay

SystemStartupSetting      : SystemStartupSetting

SystemType                : X86-based PC

ThermalState              : 3

TotalPhysicalMemory       : 3217760256

UserName                  : FABRIKAM\testuser01

WakeUpType                : 6

Workgroup                 : Workgroup

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

type                    : p:Win32_Service_Type

lang                    : en-US

AcceptPause             : false

AcceptStop              : false

Caption                 : Remote Procedure Call (RPC)

CheckPoint              : 0

CreationClassName       : Win32_Service

Description             : Serves as the endpoint mapper and COM Service Control Manager. If this service is stopped

or disabled, programs using COM or Remote Procedure Call (RPC) services will not function

properly.

DesktopInteract         : false

DisplayName             : Remote Procedure Call (RPC)

ErrorControl            : Normal

ExitCode                : 0

InstallDate             : InstallDate

Name                    : RpcSs

PathName                : C:\Windows\system32\svchost.exe -k rpcss

ProcessId               : 1100

ServiceSpecificExitCode : 0

ServiceType             : Share Process

Started                 : true

StartMode               : Auto

StartName               : NT AUTHORITY\NetworkService

State                   : Running

Status                  : OK

SystemCreationClassName : Win32_ComputerSystem

SystemName              : SERVER01

TagId                   : 0

WaitHint                : 0



xsi                     : http://www.w3.org/2001/XMLSchema-instance

p                       : http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_SystemDriver

cim                     : http://schemas.dmtf.org/wbem/wscim/1/common

type                    : p:Win32_SystemDriver_Type

lang                    : en-US

AcceptPause             : false

AcceptStop              : true

Caption                 : HTTP

CreationClassName       : Win32_SystemDriver

Description             : HTTP

DesktopInteract         : false

DisplayName             : HTTP

ErrorControl            : Normal

ExitCode                : 0

InstallDate             : InstallDate

Name                    : HTTP

PathName                : C:\Windows\system32\drivers\HTTP.sys

ServiceSpecificExitCode : 0

ServiceType             : Kernel Driver

Started                 : true

StartMode               : Manual

StartName               :

State                   : Running

Status                  : OK

SystemCreationClassName : Win32_ComputerSystem

SystemName              : SERVER01

TagId                   : 0

This command gets the associated instances that are related to the specified instance (winrm).

You must enclose the filter in quotation marks, as shown in the example.

Example 8: Get association instances related to a specified instance

PS C:\> Get-WSManInstance -Enumerate -Dialect Association -Associations -Filter "{Object=win32_service?name=winrm}" -ResourceURI wmicimv2/*

This command gets association instances that are related to the specified instance (winrm). Because the Dialect value is association and the Associations parameter is used, this command returns association instances, not associated instances.

You must enclose the filter in quotation marks, as shown in the example.

Required Parameters

-Enumerate

Indicates that this cmdlet returns all of the instances of a management resource.

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

Specifies the URI of the resource class or instance. The URI identifies a specific type of resource, such as disks or processes, on a computer.

A URI consists of a prefix and a path of a resource. For example:

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: 1
Default value: None
Accept pipeline input: True (ByPropertyName, ByValue)
Accept wildcard characters: False

Optional Parameters

-ApplicationName

Specifies the application name in the connection. The default value of the ApplicationName parameter is WSMAN. The complete identifier for the remote endpoint is in the following format:

<transport>://<server>:<port>/<ApplicationName>

For example: http://server01:8080/WSMAN

Internet Information Services (IIS), which hosts the session, forwards requests with this endpoint to the specified application. This default setting of WSMAN is appropriate for most uses. This parameter is designed to be used if many computers establish remote connections to one computer that is running Windows PowerShell. In this case, IIS hosts WS-Management for efficiency.

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

Indicates that this cmdlet gets association instances, not associated instances. You can use this parameter only when the Dialect parameter has a value of Association.

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

Specifies the authentication mechanism to be used at the server. The acceptable values for this parameter are:

  • Basic. Basic is a scheme in which the user name and password are sent in clear text to the server or proxy.
  • Default. Use the authentication method implemented by the WS-Management protocol. This is the default.
  • Digest. Digest is a challenge-response scheme that uses a server-specified data string for the challenge.
  • Kerberos. The client computer and the server mutually authenticate by using Kerberos certificates.
  • Negotiate. Negotiate is a challenge-response scheme that negotiates with the server or proxy to determine the scheme to use for authentication. For example, this parameter value allows for negotiation to determine whether the Kerberos protocol or NTLM is used.
  • CredSSP. Use Credential Security Support Provider (CredSSP) authentication, which lets the user delegate credentials. This option is designed for commands that run on one remote computer but collect data from or run additional commands on other remote computers.

Caution: CredSSP delegates the user credentials from the local computer to a remote computer. This practice increases the security risk of the remote operation. If the remote computer is compromised, when credentials are passed to it, the credentials can be used to control the network session.

Type: AuthenticationMechanism
Aliases: auth, am
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-BasePropertiesOnly

Indicates that this cmdlet enumerates only the properties that are part of the base class that is specified by the ResourceURI parameter. This parameter has no effect if the Shallow parameter is specified.

Type: SwitchParameter
Aliases: UBPO, Base
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-CertificateThumbprint

Specifies the digital public key certificate (X509) of a user account that has permission to perform this action. Enter the certificate thumbprint of the certificate.

Certificates are used in client certificate-based authentication. They can be mapped only to local user accounts; they do not work with domain accounts.

To get a certificate thumbprint, use the Get-Item or Get-ChildItem command in the Windows PowerShell Cert: drive.

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

Specifies the computer against which to run the management operation. The value can be a fully qualified domain name, a NetBIOS name, or an IP address. Use the local computer name, use localhost, or use a dot (.) to specify the local computer. The local computer is the default. When the remote computer is in a different domain from the user, you must use a fully qualified domain name must be used. You can pipe a value for this parameter to the cmdlet.

Type: String
Aliases: CN
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-ConnectionURI

Specifies the connection endpoint. The format of this string is as follows:

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

The following string is a correctly formatted value for this parameter:

http://Server01:8080/WSMAN

The URI must be fully qualified.

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

Specifies a user account that has permission to perform this action. The default is the current user. Type a user name, such as User01, Domain01\User01, or User@Domain.com. Or, enter a PSCredential object, such as one returned by the Get-Credential cmdlet. When you type a user name, this cmdlet prompts you for a password.

Type: PSCredential
Aliases: cred, c
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
-Dialect

Specifies the dialect to use in the filter predicate. This can be any dialect that is supported by the remote service. The following aliases can be used for the dialect URI:

Type: Uri
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Filter

Specifies the filter expression for the enumeration. If you specify this parameter, you must also specify Dialect .

The valid values of this parameter depend on the dialect that is specified in Dialect . For example, if Dialect is WQL, the Filter parameter must contain a string, and the string must contain a valid WQL query such as the following query:

"Select * from Win32_Service where State != Running"

If Dialect is Association, Filter must contain a string, and the string must contain a valid filter, such as the following filter:

-filter:Object=EPR\[;AssociationClassName=AssocClassName\]\[;ResultClassName=ClassName\]\[;Role=RefPropertyName\]\[;ResultRole=RefPropertyName\]}

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

Specifies a section inside the instance that is to be updated or retrieved for the specified operation. For example, to get the status of a spooler service, specify the following:

-Fragment Status

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

Specifies a set of switches to a service to modify or refine the nature of the request. These resemble switches used in command-line shells because they are service specific. Any number of options can be specified.

The following example demonstrates the syntax that passes the values 1, 2, and 3 for the a, b, and c parameters:

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

Type: Hashtable
Aliases: OS
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName, ByValue)
Accept wildcard characters: False
-Port

Specifies the port to use when the client connects to the WinRM service. When the transport is HTTP, the default port is 80. When the transport is HTTPS, the default port is 443.

When you use HTTPS as the transport, the value of the ComputerName parameter must match the server's certificate common name (CN). However, if the SkipCNCheck parameter is specified as part of the SessionOption parameter, the certificate common name of the server does not have to match the host name of the server. The SkipCNCheck parameter should be used only for trusted computers.

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

Specifies the type of data to be returned. The acceptable values for this parameter are:

  • Object
  • EPR
  • ObjectAndEPR

The default value is Object.

If you specify Object or do not specify this parameter, this cmdlet returns only objects. If you specify endpoint reference (EPR) this cmdlet returns only the endpoint references of the objects. Endpoint references contain information about the resource URI and the selectors for the instance. If you specify ObjectAndEPR, this cmdlet returns both the object and its associated endpoint references.

Type: String
Aliases: RT
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-SelectorSet

Specifies a set of value pairs that are used to select particular management resource instances. The SelectorSet parameter is used when more than one instance of the resource exists. The value of the SelectorSet parameter must be a hash table.

The following example shows how to enter a value for this parameter:

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

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

Specifies extended options for the WS-Management session. Enter a SessionOption object that you create by using the New-WSManSessionOption cmdlet. For more information about the options that are available, type Get-Help New-WSManSessionOption .

Type: SessionOption
Aliases: SO
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Shallow

Indicates that this cmdlet returns only instances of the base class that is specified in the resource URI. If you do not specify this parameter,, this cmdlet returns instances of the base class that is specified in the URI and in all its derived classes.

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

Specifies that the Secure Sockets Layer (SSL) protocol is used to establish a connection to the remote computer. By default, SSL is not used.

WS-Management encrypts all the Windows PowerShell content that is transmitted over the network. The UseSSL parameter lets you specify the additional protection of HTTPS instead of HTTP. If SSL is not available on the port that is used for the connection, and you specify this parameter, the command fails.

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

Inputs

None

This command does not accept any input.

Outputs

System.Xml.XmlElement

This cmdlet generates an XMLElement object.