Creates a new instance of a management resource.
New-WSManInstance [-ResourceURI*] <Uri> [-SelectorSet*] <Hashtable> [-ApplicationName <String>] [-Authentication<AuthenticationMechanism>] [-CertificateThumbprint <String>] [-ComputerName <String>] [-Credential <PSCredential>][-FilePath <String>] [-OptionSet <Hashtable>] [-Port <Int32>] [-SessionOption <SessionOption>] [-UseSSL][-ValueSet <Hashtable>] [<CommonParameters>]
New-WSManInstance [-ResourceURI*] <Uri> [-SelectorSet*] <Hashtable> [-Authentication <AuthenticationMechanism>][-CertificateThumbprint <String>] [-ConnectionURI <Uri>] [-Credential <PSCredential>] [-FilePath <String>][-OptionSet <Hashtable>] [-SessionOption <SessionOption>] [-ValueSet <Hashtable>] [<CommonParameters>]

The New-WSManInstance cmdlet creates a new instance of a management resource. It uses a resource Uniform Resource Identifier (URI) and a value set or input file to create the new instance of the management resource.

This cmdlet uses the WinRM connection/transport layer to create the management resource instance.

-ApplicationName <String>

  • Default value is wsman

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:


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 Web Services for Management (WS-Management) for efficiency.

-Authentication <AuthenticationMechanism>

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.

-CertificateThumbprint <String>

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.

-ComputerName <String>

  • Default value is localhost

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.

-ConnectionURI <Uri>

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


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


The URI must be fully qualified.

-Credential <PSCredential>

Specifies a user account that has permission to perform this action. The default is the current user. Type a user name, such as User01, Domain01User01, or 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.

-FilePath <String>

Specifies the path of a file that is used to create a management resource. You specify the management resource by using the ResourceURI parameter and the SelectorSet parameter.

-OptionSet <Hashtable>

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}

-Port <Int32>

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.

-ResourceURI <Uri>

  • This value is required

Specifies the URI of the resource class or instance. The URI is used to identify 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:

-SelectorSet <Hashtable>

  • This value is required
  • Accepts pipeline input ByValue

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

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

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

-SessionOption <SessionOption>

Specifies extended options for the WS-Management session. Enter a SessionOption object that you create by using the New-WSManSessionOption cmdlet.

-UseSSL [<SwitchParameter>]

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.

-ValueSet <Hashtable>

Specifies a hash table that helps modify a management resource. You specify the management resource by using ResourceURI and SelectorSet. The value of the ValueSet parameter must be a hash table.


This cmdlet supports the common parameters: Verbose, Debug,ErrorAction, ErrorVariable, WarningAction, WarningVariable,OutBuffer, PipelineVariable, and OutVariable.



This cmdlet does not accept any input.



This cmdlet does not generate any output.

  1. Create a HTTPS listener:
    PS C:> New-WSManInstance - ResourceURI winrm/config/Listener -SelectorSet @{Transport=HTTPS} -ValueSet @{Hostname="HOST";CertificateThumbprint="XXXXXXXXXX"}

    This command creates an instance of a WS-Management HTTPS listener on all IP addresses.

Additional Notes
 The Set-WmiInstance cmdlet, a Windows Management Instrumentation (WMI) cmdlet, is similar. Set-WmiInstance 
 uses the DCOM connection/transport layer to create or update WMI instances.
Related Links