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"