Hello, me again here!

Today I have finished my new PowerShell PKI module. Even if my first release was one month ago, it was reasonable for me to evaluate it and finalize certain things. This is because several commands was published in a test mode.

During my own usage I've noticed that several commands don't provide consistency and required level of usability. For example, there is a command named Get-CertificateTemplate. This command returns registered in AD certificate templates. In a previous release there was only one way to filter them by display name. My thought was that administrators remember display names rather common names. Also there are similar Add/Remove-CATemplate commands. They are used to add/remove certificate template from CA issued template list. In order to add a new template the only option was to specify template common name. This is because default ICertAdmin2 interface uses common names for that. Now Templates property contains common objects and Add/Remove-CATemplate commands are improved to handle either display name, common name or an object returned by Get-CertificateTemplate. Here is an example:

PS C:\> $a = Get-CertificationAuthority dc2* | Get-CATemplate | Add-CATemplate -DisplayName "web server" | Set-CATemplat
e
PS C:\> $a.Templates

Name                           DisplayName                    Version  SupportedCA                    Autoenrollment
----                           -----------                    -------  -----------                    --------------
SecureEmail                    Secure Email                   100.5    Windows Server 2003 Enterpr... Not allowed
customwebserver                custom webserver               100.2    Windows Server 2003 Enterpr... Not allowed
RDPSSL                         RDP SSL                        100.7    Windows Server 2003 Enterpr... Not allowed
WebServerV2                    Web Server V2                  100.6    Windows Server 2003 Enterpr... Not allowed
OCSPResponseSigning            OCSP Response Signing          101.0    Windows Server 2008 Enterpr... Not allowed
DomainControllerAuthentication Domain Controller Authentic... 110.0    Windows Server 2003 Enterpr... Not allowed
Machine                        Computer                       5.1      Windows 2000 Server            Not allowed
WebServer                      Web Server                     4.1      Windows 2000 Server            Not allowed


PS C:\> $a = Get-CertificationAuthority dc2* | Get-CATemplate | Remove-CATemplate -Name "webserver" | Set-CATemplate
PS C:\> $a.Templates

Name                           DisplayName                    Version  SupportedCA                    Autoenrollment
----                           -----------                    -------  -----------                    --------------
SecureEmail                    Secure Email                   100.5    Windows Server 2003 Enterpr... Not allowed
customwebserver                custom webserver               100.2    Windows Server 2003 Enterpr... Not allowed
RDPSSL                         RDP SSL                        100.7    Windows Server 2003 Enterpr... Not allowed
WebServerV2                    Web Server V2                  100.6    Windows Server 2003 Enterpr... Not allowed
OCSPResponseSigning            OCSP Response Signing          101.0    Windows Server 2008 Enterpr... Not allowed
DomainControllerAuthentication Domain Controller Authentic... 110.0    Windows Server 2003 Enterpr... Not allowed
Machine                        Computer                       5.1      Windows 2000 Server            Not allowed


PS C:\>

In these examples I have added Web Server template by it's display name (Web Server) and removed it from CA by it's common name (WebServer). Many other things was inconsistent and unfriendly. I believe that new release is like service pack for the first RTM. Generally it contains bug fixes and new functionality.

Since documentation is the one of the important part of any project I have created web-based help for any commands. This means that you can use built-in help content (not the best for regular reading) or online version. Online version can be invoked by using –Online switch after Get-Help cmdlet:

Get-Help Get-CertificationAuthority –Online

Online version is the same as built-in, just formed as a web page: http://pspki.codeplex.com/wikipage?title=Add-AuthorityInformationAccess

The full change log can be found on download page: http://pspki.codeplex.com/releases/view/64663

And the full command list (with online help version) is placed on project main page: http://pspki.codeplex.com/


Share this article:

Comments:


Post your comment:

Please, solve this little equation and enter result below. Captcha