New-RDCertificate

New-RDCertificate

Creates a certificate for an RDS role.

Syntax

Parameter Set: Default
New-RDCertificate [-Role] <RDCertificateRole> -DnsName <String> -Password <SecureString> [-ConnectionBroker <String> ] [-ExportPath <String> ] [-Force] [ <CommonParameters>]

Detailed Description

The New-RDCertificate cmdlet creates a certificate for a Remote Desktop Services (RDS) role.

This cmdlet creates an object that contains the following information:

-- Subject. The subject of the certificate.
-- SubjectAlternateName. A list of subject alternative name entries of the certificate.
-- IssuedBy. Common name of the issuer of the certificate.
-- IssuedTo. Common name of the IssuedTo field of the certificate.
-- ExpiresOn. Expiration date of the certificate.
-- Thumbprint. Thumbprint of the certificate.
-- Role. Remote desktop role service name. The possible roles are: RDGateway, RDWebAccess, RDRedirector, and RDPublishing.
-- Level. Certification level.

The certification levels are:

-- Not Configured. The role service is not configured with a certificate or the certificate is not valid.
-- Untrusted. The role service is configured with a self-signed certificate.
-- Trusted. The role service is configured with either enterprise certificate or public certificate.

Parameters

-ConnectionBroker<String>

Specifies the Remote Desktop Connection Broker (RD Connection Broker) server for a Remote Desktop deployment. If you do not specify a value, the cmdlet uses the fully qualified domain name (FQDN) of the local computer.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-DnsName<String>

Specifies the Domain Name Service (DNS) name for a computer. The cmdlet creates a self-signed certificate for this computer.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ExportPath<String>

Specifies a full file path for the certificate. The file has a .pfx extension.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Force

Performs the action without a confirmation message.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Password<SecureString>

Specifies a secure string used to help secure the certificate. See the Examples section.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Role<RDCertificateRole>

Specifies a certificate type associated with an RDS server role. The acceptable values for this parameter are:

-- RDGateway
-- RDWebAccess
-- RDRedirector
-- RDPublishing

Aliases

none

Required?

true

Position?

1

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

<CommonParameters>

This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see    about_CommonParameters (https://go.microsoft.com/fwlink/p/?LinkID=113216).

Inputs

The input type is the type of the objects that you can pipe to the cmdlet.

Outputs

The output type is the type of the objects that the cmdlet emits.

  • System.Object

Examples

Example 1: Create a certificate

This example creates a certificate for an RDS role.

The first command uses the ConvertTo-SecureString cmdlet to create a secure string based on a string that the user supplies, and stores it in the $Password variable. For more information, type Get-Help ConvertTo-SecureString.

The second command creates a certificate for the publishing role and uses the secure string stored in $Password to help secure it. The command specifies the DNS name of the RDS host and the name of the connection broker.

PS C:\> $Password = ConvertTo-SecureString -String "Wings%%83Potato" -AsPlainText -Force
PS C:\> New-RDCertificate -Role RDPublishing -DnsName "RDWA01.Contoso.com " -Password $Password -ConnectionBroker "RDCB.Contoso.com"

Example 2: Create and export a certificate

This example creates a certificate for an RDS role and exports it to a specified file.

The first command uses the ConvertTo-SecureString cmdlet to create a secure string based on a string that the user supplies, and stores it in the $Password variable.

The second command creates a certificate for the web access role and uses the secure string stored in $Password to help secure it. The command specifies the DNS name of the RDS host and the name of the connection broker. This command also exports the certificate to the specified .pfx file.

PS C:\> $Password = ConvertTo-SecureString -String "Cups34Horses&&" -AsPlainText -Force
PS C:\> New-RDCertificate -Role RDWebAccess -DnsName "RDWA01.Contoso.com" -Password $Password -ExportPath "C:\Certificates\RDWA102.pfx" -ConnectionBroker "RDCB.Contoso.com" 

Get-RDCertificate

Set-RDCertificate