Skip to content

Commit db500c1

Browse files
Merge pull request MicrosoftDocs#3381 from Snozzberries/MicrosoftDocs#3380
Quality: PowerShell Summit MicrosoftDocsGH-3380
2 parents e919a80 + 75c71e6 commit db500c1

File tree

1 file changed

+100
-54
lines changed

1 file changed

+100
-54
lines changed

docset/winserver2022-ps/adcsdeployment/Install-AdcsEnrollmentWebService.md

Lines changed: 100 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -16,24 +16,31 @@ Performs the initial configuration of the Certificate Enrollment Web service.
1616
## SYNTAX
1717

1818
### DefaultParameterSet (Default)
19+
1920
```
20-
Install-AdcsEnrollmentWebService [-CAConfig <String>] [-ApplicationPoolIdentity]
21-
[-AuthenticationType <AuthenticationType>] [-SSLCertThumbprint <String>] [-RenewalOnly]
22-
[-AllowKeyBasedRenewal] [-Force] [-Credential <PSCredential>] [-WhatIf] [-Confirm] [<CommonParameters>]
21+
Install-AdcsEnrollmentWebService [-CAConfig <String>]
22+
[-ApplicationPoolIdentity] [-AuthenticationType <AuthenticationType>]
23+
[-SSLCertThumbprint <String>] [-RenewalOnly] [-AllowKeyBasedRenewal]
24+
[-Force] [-Credential <PSCredential>] [-WhatIf] [-Confirm]
25+
[<CommonParameters>]
2326
```
2427

2528
### ServiceAccountParameterSet
29+
2630
```
27-
Install-AdcsEnrollmentWebService [-CAConfig <String>] -ServiceAccountName <String>
28-
-ServiceAccountPassword <SecureString> [-AuthenticationType <AuthenticationType>]
29-
[-SSLCertThumbprint <String>] [-RenewalOnly] [-AllowKeyBasedRenewal] [-Force] [-Credential <PSCredential>]
30-
[-WhatIf] [-Confirm] [<CommonParameters>]
31+
Install-AdcsEnrollmentWebService [-CAConfig <String>]
32+
-ServiceAccountName <String> -ServiceAccountPassword <SecureString>
33+
[-AuthenticationType <AuthenticationType>] [-SSLCertThumbprint <String>]
34+
[-RenewalOnly] [-AllowKeyBasedRenewal] [-Force] [-Credential <PSCredential>]
35+
[-WhatIf] [-Confirm] [<CommonParameters>]
3136
```
3237

3338
## DESCRIPTION
34-
The **Install-AdcsEnrollmentWebService** cmdlet performs the configuration of Certificate Enrollment Web service.
35-
It is also used to create additional instances of the service within an existing installation.
36-
To remove the Certificate Enrollment Web Service role service use the **Uninstall-AdcsEnrollmentWebService** cmdlet.
39+
40+
The `Install-AdcsEnrollmentWebService` cmdlet performs the configuration of the Certificate
41+
Enrollment Web service. It is also used to create and configure additional instances of the service
42+
within an existing installation. To remove the Certificate Enrollment Web Service role service use
43+
the `Uninstall-AdcsEnrollmentWebService` cmdlet.
3744

3845
You can import the cmdlet by running the following commands from Windows PowerShell:
3946

@@ -43,27 +50,45 @@ You can import the cmdlet by running the following commands from Windows PowerSh
4350
## EXAMPLES
4451

4552
### Example 1: Installs the Certificate Enrollment Web Service to use the certification authority
46-
```
47-
PS C:\> Install-AdcsEnrollmentWebService -ApplicationPoolIdentity -CAConfig "CA1.contoso.com\contoso-CA1-CA" -SSLCertThumbprint "Thumbprint001" -AuthenticationType Certificate
53+
54+
```powershell
55+
$params = @{
56+
ApplicationPoolIdentity = $true
57+
CAConfig = "CA1.contoso.com\contoso-CA1-CA"
58+
SSLCertThumbprint = "a909502dd82ae41433e6f83886b00d4277a32a7b"
59+
AuthenticationType = Certificate
60+
}
61+
Install-AdcsEnrollmentWebService @params
4862
```
4963

50-
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.
51-
The identity of the Certificate Enrollment Web Service is specified as the default application pool identity.
52-
The authentication type is certificate based.
64+
This command installs the Certificate Enrollment Web Service to use the certification authority with
65+
a computer name of `CA1.contoso.com` and a CA common name `contoso-CA1-CA`. The identity of the
66+
Certificate Enrollment Web Service is specified as the default application pool identity. The
67+
authentication type is certificate based.
5368

5469
### Example 2: Installs the Certificate Enrollment Web Service to use the certification authority that prompts for password
55-
```
56-
PS C:\> Install-AdcsEnrollmentWebService -CAConfig "APP1.corp.contoso.com\corp-APP1-CA" -SSLCertThumbprint "Thumbprint001" -ServiceAccountName "Corp\CEPAcct1" -ServiceAccountPassword (read-host "Set user password" -assecurestring)
70+
71+
```powershell
72+
$params = @{
73+
CAConfig = "APP1.corp.contoso.com\corp-APP1-CA"
74+
SSLCertThumbprint = "a909502dd82ae41433e6f83886b00d4277a32a7b"
75+
ServiceAccountName = "Corp\CEPAcct1"
76+
ServiceAccountPassword = (Read-Host "Set user password" -AsSecureString)
77+
}
78+
Install-AdcsEnrollmentWebService @params
5779
```
5880

59-
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.
60-
The identity of the Certificate Enrollment Web Service is specified as CEPAcct1 from the Corp domain.
61-
The command will prompt for the user password.
81+
This command installs the Certificate Enrollment Web Service to use the certification authority with
82+
a computer name of `APP1.corp.contoso.com` and a CA common name `corp-APP1-CA`. The identity of the
83+
Certificate Enrollment Web Service is specified as `CEPAcct1` from the `Corp` domain. The command
84+
will prompt for the user password.
6285

6386
## PARAMETERS
6487

6588
### -AllowKeyBasedRenewal
66-
Indicates that the cmdlet accept key based renewal requests for the enrollment server, which are valid client certificates for authentication that do not directly map to a security principal.
89+
90+
Indicates that the cmdlet accepts key based renewal requests for the enrollment server, which are
91+
valid client certificates for authentication that do not directly map to a security principal.
6792

6893
```yaml
6994
Type: SwitchParameter
@@ -78,11 +103,13 @@ Accept wildcard characters: False
78103
```
79104
80105
### -ApplicationPoolIdentity
81-
Indicates that the cmdlet uses the application pool identity that the Certificate Enrollment Web Service uses when communicating with the Certification Authority (CA).
82-
This parameter is only valid when Certificate Enrollment Web Service targets a remote CA.
83-
If not specified, the local application pool identity is used.
84-
This parameter is only valid when installing the first instance of the Certificate Enrollment Web Service.
85-
If this installation will be for an additional instance of Certificate Enrollment Web Service on this server, then this parameter should not be specified.
106+
107+
Indicates that the cmdlet configures the Certificate Enrollment Web Service to use the application
108+
pool identity when communicating with the Certification Authority (CA). This parameter is only valid
109+
when Certificate Enrollment Web Service targets a remote CA. If not specified, the local application
110+
pool identity is used. This parameter is only valid when installing the first instance of the
111+
Certificate Enrollment Web Service. If this installation will be for an additional instance of
112+
Certificate Enrollment Web Service on this server, then this parameter should not be specified.
86113
87114
```yaml
88115
Type: SwitchParameter
@@ -97,6 +124,7 @@ Accept wildcard characters: False
97124
```
98125
99126
### -AuthenticationType
127+
100128
Specifies the authentication type.
101129
The acceptable values for this parameter are:
102130
@@ -118,12 +146,13 @@ Accept wildcard characters: False
118146
```
119147
120148
### -CAConfig
121-
Specifies the configuration string of the CA used by the Certificate Enrollment Web Service to process enrollment requests.
122-
This parameter depends upon whether a local CA is installed.
123-
If the CA is local, then the parameter is optional and defaults to the local CA when not specified.
124-
If there is not a local CA, then the parameter is required.
125-
The input is the configuration string is `<CAComputerName>\<CACommonName>`.
126-
Replace the computer name of the (CA) for `<CAComputerName>` and replace the CA common name for `<CACommonName>`.
149+
150+
Specifies the configuration string of the CA used by the Certificate Enrollment Web Service to
151+
process enrollment requests. This parameter depends upon whether a local CA is installed. If the CA
152+
is local, then the parameter is optional and defaults to the local CA when not specified. If there
153+
is not a local CA, then the parameter is required. The input of the configuration string is
154+
`<CAComputerName>\<CACommonName>`. Replace the computer name of the (CA) for `<CAComputerName>` and
155+
replace the CA common name for `<CACommonName>`.
127156

128157
```yaml
129158
Type: String
@@ -138,6 +167,7 @@ Accept wildcard characters: False
138167
```
139168

140169
### -Confirm
170+
141171
Prompts you for confirmation before running the cmdlet.
142172

143173
```yaml
@@ -153,12 +183,14 @@ Accept wildcard characters: False
153183
```
154184

155185
### -Credential
156-
Specifies the credentials for installing the Certificate Enrollment Web Service.
157-
To obtain a credential object, use the **Get-Credential** cmdlet.
158-
For more information, type `Get-Help Get-Credential`.
159-
The Certificate Enrollment Web Service must be installed on a server that is a member of an Active Directory Domain Services (AD DS) domain.
160-
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.
161-
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.
186+
187+
Specifies the credentials for installing the Certificate Enrollment Web Service. To obtain a
188+
credential object, use the `Get-Credential` cmdlet. For more information, type
189+
`Get-Help Get-Credential`. The Certificate Enrollment Web Service must be installed on a server that
190+
is a member of an Active Directory Domain Services (AD DS) domain. If the Certificate Enrollment Web
191+
Service is configured to use a Standalone certification authority (CA), then an account that is a
192+
member of the local Administrators on the CA is required. If the Enrollment Web Service is installed
193+
to use an Enterprise CA, then using an account that is a member of Domain Admins group is required.
162194

163195
```yaml
164196
Type: PSCredential
@@ -173,6 +205,7 @@ Accept wildcard characters: False
173205
```
174206

175207
### -Force
208+
176209
Forces the command to run without asking for user confirmation.
177210

178211
```yaml
@@ -188,6 +221,7 @@ Accept wildcard characters: False
188221
```
189222

190223
### -RenewalOnly
224+
191225
Indicates that the cmdlet enables renewal only mode.
192226

193227
```yaml
@@ -203,12 +237,14 @@ Accept wildcard characters: False
203237
```
204238

205239
### -SSLCertThumbprint
206-
Specifies the hash or thumbprint of the Secure Sockets Layer/Transport Layer Security (SSL/TLS) certificate for a web site as a string value.
207-
This parameter is optional.
208-
If used, it establishes the necessary binding with Internet Information Server (IIS) to enable support for the required SSL/TLS connectivity.
209-
If a binding already exists within IIS, specifying this parameter overwrites the existing binding.
210-
If this parameter is not specified, any existing binding is used.
211-
If no bindings exist, installation succeeds, but the service will not function until the binding is established manually.
240+
241+
Specifies the hash or thumbprint of the Secure Sockets Layer/Transport Layer Security (SSL/TLS)
242+
certificate for a web site as a string value. This parameter is optional. If used, it establishes
243+
the necessary binding with Internet Information Server (IIS) to enable support for the required
244+
SSL/TLS connectivity. If a binding already exists within IIS, specifying this parameter overwrites
245+
the existing binding. If this parameter is not specified, any existing binding is used. If no
246+
bindings exist, installation succeeds, but the service will not function until the binding is
247+
established manually.
212248

213249
```yaml
214250
Type: String
@@ -223,9 +259,10 @@ Accept wildcard characters: False
223259
```
224260

225261
### -ServiceAccountName
226-
Specifies the domain account for use with the service.
227-
The input string should be in the form of `<domain>\<accountname>`.
228-
For instance, to specify an account named WebEnroll in the Corp.contoso.com domain, you would type `CORP\WebEnroll`.
262+
263+
Specifies the domain account for use with the service. The input string should be in the form of
264+
`<domain>\<accountname>`. For instance, to specify an account named `WebEnroll` in the
265+
`Corp.contoso.com` domain, you would type `CORP\WebEnroll`.
229266

230267
```yaml
231268
Type: String
@@ -240,6 +277,7 @@ Accept wildcard characters: False
240277
```
241278

242279
### -ServiceAccountPassword
280+
243281
Specifies the password for the domain account used as the service account.
244282

245283
```yaml
@@ -255,6 +293,7 @@ Accept wildcard characters: False
255293
```
256294

257295
### -WhatIf
296+
258297
Shows what would happen if the cmdlet runs.
259298
The cmdlet is not run.
260299

@@ -271,7 +310,11 @@ Accept wildcard characters: False
271310
```
272311

273312
### CommonParameters
274-
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216).
313+
314+
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable,
315+
-InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose,
316+
-WarningAction, and -WarningVariable. For more information, see
317+
[about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216).
275318

276319
## INPUTS
277320

@@ -290,15 +333,18 @@ This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable
290333
### Microsoft.CertificateServices.Deployment.Common.CES.EnrollmentServiceResult
291334

292335
## NOTES
293-
* Ensure you run Windows PowerShell as an administrator. You can use the *Force* parameter to bypass the prompt for confirmation.
294-
To see parameters, run the following command: `Install-AdcsEnrollmentWebService cmdlet -?`
295-
* 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:
296-
- `cd cert:\LocalMachine\My`
297-
- `dir | format-list`
336+
337+
- Ensure you run Windows PowerShell as an administrator. You can use the **Force** parameter to
338+
bypass the prompt for confirmation. To see parameters, run the following command:
339+
`Install-AdcsEnrollmentWebService cmdlet -?`
340+
- You can get the CA configuration, which is the computer name and CA name by running certutil
341+
without any parameters. You can see the SSL certificate thumbprints assigned to the local computer
342+
by running the following commands:
343+
- `cd cert:\LocalMachine\My`
344+
- `dir | format-list`
298345

299346
## RELATED LINKS
300347

301348
[Uninstall-AdcsEnrollmentWebService](./Uninstall-AdcsEnrollmentWebService.md)
302349

303350
[Get-Credential](https://go.microsoft.com/fwlink/?LinkID=293936)
304-

0 commit comments

Comments
 (0)