PowerShell PKI Module


This module is intended to simplify various PKI and Active Directory Certificate Services management tasks by using automation with Windows PowerShell. The module provides features and capabilities for managing and configuring Certification Authorities


Details & Pricing

  • This tool is distributed for free via source code on GitHub or binary download
  • Support is not commercially provided at this time, however, we do accept comments, suggestions, and notifications of compatibility on GitHub.


Module Requirements

  • Windows PowerShell 3.0 or higher
  • .NET Framework 4.0 or higher
  • Windows Server 2008 R2/2012/2012 R2/2016/2019
  • Windows 7*/8*/8.1*/10*

* — with installed RSAT (Remote System Administration Tools)

Certification Authority requirements

This module supports Enterprise or Standalone Certification Authority servers that are running one of the following operating systems:

  • Windows Server 2003/2003 R2
  • Windows Server 2008 (including Server Core)
  • Windows Server 2008 R2 (including Server Core)
  • Windows Server 2012 (including Server Core)
  • Windows Server 2012 R2 (including Server Core)
  • Windows Server 2016 (including Server Core)
  • Windows Server 2019 (including Server Core)

Release notes

Version 3.7 (current)


Download PKI Powershell

    Command list:

    Full command list for the latest release:


    Start guide:

    Run Windows PowerShell and Explore available commands:

    Get-Command -Module PSPKI


    Getting some help

    If you don’t know how to use certain command and/or get help about certain parameters, examples you may run the following command:

    # retrieve basic help
    Get-Help CommandName
    # retrieve detailed and full help content
    Get-Help CommandName –Detailed
    Get-Help CommandName –Full
    # see help online:
    Get-Help CommandName -Online
    # retrieve help for particular parameter:
    Get-Help CommandName –Parameter ParameterName
    # retrieve command usage examples:
    Get-Help CommandName –Examples 


    Useful tricks

    Certain commands display only subset of predefined properties (like Get-CertificationAuthority). To show all of them use “Format-List *” command as follows:

    Get-CertificationAuthority | Format-List *

    Certain objects contains multiple values and aren’t fully shown (for example, Get-PolicyModuleFlag). To expand particular property use Select-Object command as follows:

    Get-CertificationAuthority -Name MyCA | Get-PolicyModuleFlag | Select -ExpandProperty Flags

    Even if you think that commands are too long for typing don’t forget about PowerShell command tab completion. You can type a part of command name and press tab button (for example Get-Ce<tab>). The same works for parameters (Get-Ce<tab> -N<tab>).


    Module removal

    If you wish to remove module from current PowerShell session run the following command:

    Remove-Module PSPKI

    However this command just unload module from a current session. You may re-load it by using Import-Module command.
    To completely remove module from the system, uninstall installation package.



    Option 1: The PowerShell PKI Module can be downloaded below or from the PowerShell Gallery

    Option 2: In a PowerShell console by running the following command:

    Install-Module -Name PSPKI