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/
Post your comment:
Comments: