The Install-AdcsEnrollmentWebService cmdlet performs the configuration of the Certificate
Enrollment Web service. It is also used to create and configure additional instances of the service
within an existing installation. To remove the Certificate Enrollment Web Service role service use
the Uninstall-AdcsEnrollmentWebService cmdlet.
You can import the cmdlet by running the following commands from Windows PowerShell:
Import-Module ServerManager
Add-WindowsFeature Adcs-Enroll-Web-Svc
Examples
Example 1: Installs the Certificate Enrollment Web Service to use the certification authority
This command installs the Certificate Enrollment Web Service to use the certification authority with
a computer name of CA1.contoso.com and a CA common name contoso-CA1-CA. The identity of the
Certificate Enrollment Web Service is specified as the default application pool identity. The
authentication type is certificate based.
Example 2: Installs the Certificate Enrollment Web Service to use the certification authority that prompts for password
This command installs the Certificate Enrollment Web Service to use the certification authority with
a computer name of APP1.corp.contoso.com and a CA common name corp-APP1-CA. The identity of the
Certificate Enrollment Web Service is specified as CEPAcct1 from the Corp ___domain. The command
will prompt for the user password.
Parameters
-AllowKeyBasedRenewal
Indicates that the cmdlet accepts key based renewal requests for the enrollment server, which are
valid client certificates for authentication that do not directly map to a security principal.
Parameter properties
Type:
SwitchParameter
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
True
Value from remaining arguments:
False
-ApplicationPoolIdentity
Indicates that the cmdlet configures the Certificate Enrollment Web Service to use the application
pool identity when communicating with the Certification Authority (CA). This parameter is only valid
when Certificate Enrollment Web Service targets a remote CA. If not specified, the local application
pool identity is used. This parameter is only valid when installing the first instance of the
Certificate Enrollment Web Service. If this installation will be for an additional instance of
Certificate Enrollment Web Service on this server, then this parameter should not be specified.
Parameter properties
Type:
SwitchParameter
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
DefaultParameterSet
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
True
Value from remaining arguments:
False
-AuthenticationType
Specifies the authentication type.
The acceptable values for this parameter are:
Certificate
Kerberos
UserName
Parameter properties
Type:
AuthenticationType
Default value:
None
Accepted values:
Kerberos, UserName, Certificate
Supports wildcards:
False
DontShow:
False
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
True
Value from remaining arguments:
False
-CAConfig
Specifies the configuration string of the CA used by the Certificate Enrollment Web Service to
process enrollment requests. This parameter depends upon whether a local CA is installed. If the CA
is local, then the parameter is optional and defaults to the local CA when not specified. If there
is not a local CA, then the parameter is required. The input of the configuration string is
<CAComputerName>\<CACommonName>. Replace the computer name of the (CA) for <CAComputerName> and
replace the CA common name for <CACommonName>.
Parameter properties
Type:
String
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
True
Value from remaining arguments:
False
-Confirm
Prompts you for confirmation before running the cmdlet.
Parameter properties
Type:
SwitchParameter
Default value:
False
Supports wildcards:
False
DontShow:
False
Aliases:
cf
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
False
Value from remaining arguments:
False
-Credential
Specifies the credentials for installing the Certificate Enrollment Web Service. To obtain a
credential object, use the Get-Credential cmdlet. For more information, type
Get-Help Get-Credential. The Certificate Enrollment Web Service must be installed on a server that
is a member of an Active Directory Domain Services (AD DS) ___domain. If the Certificate Enrollment Web
Service is configured to use a Standalone certification authority (CA), then an account that is a
member of the local Administrators on the CA is required. If the Enrollment Web Service is installed
to use an Enterprise CA, then using an account that is a member of Domain Admins group is required.
Parameter properties
Type:
PSCredential
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
True
Value from remaining arguments:
False
-Force
Forces the command to run without asking for user confirmation.
Parameter properties
Type:
SwitchParameter
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
False
Value from remaining arguments:
False
-RenewalOnly
Indicates that the cmdlet enables renewal only mode.
Parameter properties
Type:
SwitchParameter
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
True
Value from remaining arguments:
False
-ServiceAccountName
Specifies the ___domain account for use with the service. The input string should be in the form of
<___domain>\<accountname>. For instance, to specify an account named WebEnroll in the
Corp.contoso.com ___domain, you would type CORP\WebEnroll.
Parameter properties
Type:
String
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
ServiceAccountParameterSet
Position:
Named
Mandatory:
True
Value from pipeline:
False
Value from pipeline by property name:
True
Value from remaining arguments:
False
-ServiceAccountPassword
Specifies the password for the ___domain account used as the service account.
Parameter properties
Type:
SecureString
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
ServiceAccountParameterSet
Position:
Named
Mandatory:
True
Value from pipeline:
False
Value from pipeline by property name:
True
Value from remaining arguments:
False
-SSLCertThumbprint
Specifies the hash or thumbprint of the Secure Sockets Layer/Transport Layer Security (SSL/TLS)
certificate for a web site as a string value. This parameter is optional. If used, it establishes
the necessary binding with Internet Information Server (IIS) to enable support for the required
SSL/TLS connectivity. If a binding already exists within IIS, specifying this parameter overwrites
the existing binding. If this parameter is not specified, any existing binding is used. If no
bindings exist, installation succeeds, but the service will not function until the binding is
established manually.
Parameter properties
Type:
String
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
True
Value from remaining arguments:
False
-WhatIf
Shows what would happen if the cmdlet runs.
The cmdlet is not run.
Parameter properties
Type:
SwitchParameter
Default value:
False
Supports wildcards:
False
DontShow:
False
Aliases:
wi
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
False
Value from remaining arguments:
False
CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable,
-InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable,
-ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see
about_CommonParameters.
Ensure you run Windows PowerShell as an administrator. You can use the Force parameter to
bypass the prompt for confirmation. To see parameters, run the following command:
Install-AdcsEnrollmentWebService cmdlet -?
You can get the CA configuration, which is the computer name and CA name by running certutil
without any parameters. You can see the SSL certificate thumbprints assigned to the local computer
by running the following commands: