Client/PSPKI.Help.xml

<?xml version="1.0" encoding="utf-8"?><helpItems schema="maml">
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
<!--Generated by PS Cmdlet Help Editor-->
    <command:details>
        <command:name>Convert-PemToPfx</command:name>
        <maml:description>
            <maml:para>Converts PEM (Privacy Enhanced Mail) certificate with embedded private key to a PKCS#12/PFX file.</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para />
        </maml:copyright>
        <command:verb>Convert</command:verb>
        <command:noun>PemToPfx</command:noun>
        <dev:version />
    </command:details>
    <maml:description>
        <maml:para>Converts PEM (Privacy Enhanced Mail) certificate with embedded private key to a PKCS#12/PFX file. PEM files are Base64-encoded files with PKCS#1 or PKCS#8 private key material. Windows natively does not support PKCS#1 and PKCS8 private key formats and this command allows you to perform such conversion. The command supports external private key files (when certificate and associated private key are stored in separate files). Depending on parameters, the command can: save PFX to a file, install PFX to certificate store or combine both operations by installing the certificate to certificate store and saving certificate to PFX file.</maml:para>
        <maml:para>PEM file must be encoded in Base64 encoding and should have the following contents. PEM file must contain digital certificate at minimum and the contents is:
-----BEGIN CERTIFICATE-----
&lt;Base64-encoded certificate&gt;
-----END CERTIFICATE-----</maml:para>
        <maml:para>alternatively, PEM file may contain private key or it must be stored in separate file. Private key must be either PKCS#1 or PKCS#8. The following example illustrates PKCS#1 private key headers:
-----BEGIN RSA PRIVATE KEY-----
&lt;Base64-encoded PKCS#1 private key&gt;
-----END RSA PRIVATE KEY-----</maml:para>
        <maml:para>The following example illustrates PKCS#8 private key headers:
-----BEGIN PRIVATE KEY-----
&lt;Base64-encoded PKCS#8 private key&gt;
-----END PRIVATE KEY-----</maml:para>
        <maml:para>any external information outside cryptographic headers is silently ignored.</maml:para>
        <maml:para>Note: currently the command do not support quiet mode and must be called in interactive mode. You will be prompted for password to protect PFX and it cannot be scripted.</maml:para>
    </maml:description>
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Convert-PemToPfx</maml:name>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>InputPath</maml:name>
                <maml:description>
                    <maml:para>Specifies the path to a PEM file. If PEM file contains only public certificate, the KeyPath parameter is required.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>KeyPath</maml:name>
                <maml:description>
                    <maml:para>Specifies the path to a private key file if public certificate and associated private key are stored in separate files.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>OutputPath</maml:name>
                <maml:description>
                    <maml:para>Specifies the path for resulting PKCS#12/PFX file. If you want to install the certificate to certificate store without intermediate PFX file, you can omit this parameter and use &#39;-Install&#39; parameter instead.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>KeySpec</maml:name>
                <maml:description>
                    <maml:para>Specifies the intended key purpose. Can be either &#39;AT_EXCHANGE&#39; (default value) or &#39;AT_SIGNATURE&#39;. SSL and encryption certificates use &#39;AT_EXCHANGE&#39; key purpose. Code signing and authentication certificates usually use &#39;AT_SIGNATURE&#39; key purpose.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">X509KeySpecFlags</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Password</maml:name>
                <maml:description>
                    <maml:para>Specifies the password for PFX file. This parameter is ignored if &#39;-OutputPath&#39; is not specified.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">SecureString</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>ProviderName</maml:name>
                <maml:description>
                    <maml:para>Specifies the cryptographic service provider name where to import the key. Currently, only legacy and CAPI smart card providers are supported. Key Storage Providers (KSP) are not supported in this version.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>StoreLocation</maml:name>
                <maml:description>
                    <maml:para>Specifies the store location where the certificate is installed. This parameter is ignored if &#39;-Install&#39; parameter is not specified.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">StoreLocation</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Install</maml:name>
                <maml:description>
                    <maml:para>Specifies whether the certificate needs to be installed in the certificate store. If specified, the certificate is installed in the Personal (My) container of the store specified in the &#39;StoreLocation&#39; parameter.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <command:parameters>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
            <maml:name>InputPath</maml:name>
            <maml:description>
                <maml:para>Specifies the path to a PEM file. If PEM file contains only public certificate, the KeyPath parameter is required.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            <dev:type>
                <maml:name>String</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>KeyPath</maml:name>
            <maml:description>
                <maml:para>Specifies the path to a private key file if public certificate and associated private key are stored in separate files.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            <dev:type>
                <maml:name>String</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>OutputPath</maml:name>
            <maml:description>
                <maml:para>Specifies the path for resulting PKCS#12/PFX file. If you want to install the certificate to certificate store without intermediate PFX file, you can omit this parameter and use &#39;-Install&#39; parameter instead.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            <dev:type>
                <maml:name>String</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>KeySpec</maml:name>
            <maml:description>
                <maml:para>Specifies the intended key purpose. Can be either &#39;AT_EXCHANGE&#39; (default value) or &#39;AT_SIGNATURE&#39;. SSL and encryption certificates use &#39;AT_EXCHANGE&#39; key purpose. Code signing and authentication certificates usually use &#39;AT_SIGNATURE&#39; key purpose.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">X509KeySpecFlags</command:parameterValue>
            <dev:type>
                <maml:name>X509KeySpecFlags</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue>Exchange</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Password</maml:name>
            <maml:description>
                <maml:para>Specifies the password for PFX file. This parameter is ignored if &#39;-OutputPath&#39; is not specified.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">SecureString</command:parameterValue>
            <dev:type>
                <maml:name>SecureString</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>ProviderName</maml:name>
            <maml:description>
                <maml:para>Specifies the cryptographic service provider name where to import the key. Currently, only legacy and CAPI smart card providers are supported. Key Storage Providers (KSP) are not supported in this version.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            <dev:type>
                <maml:name>String</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue>Microsoft Enhanced RSA and AES Cryptographic Provider</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>StoreLocation</maml:name>
            <maml:description>
                <maml:para>Specifies the store location where the certificate is installed. This parameter is ignored if &#39;-Install&#39; parameter is not specified.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">StoreLocation</command:parameterValue>
            <dev:type>
                <maml:name>StoreLocation</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue>CurrentUser</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Install</maml:name>
            <maml:description>
                <maml:para>Specifies whether the certificate needs to be installed in the certificate store. If specified, the certificate is installed in the Personal (My) container of the store specified in the &#39;StoreLocation&#39; parameter.</maml:para>
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
    </command:parameters>
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name>None.</maml:name>
                <maml:uri></maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>System.Security.Cryptography.X509Certificates.X509Certificate2</maml:name>
                <maml:uri>https://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.x509certificate2.aspx</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <command:terminatingErrors></command:terminatingErrors>
    <command:nonTerminatingErrors></command:nonTerminatingErrors>
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>Author: Vadims Podans
Blog: https://www.sysadmins.lv</maml:para>
        </maml:alert>
    </maml:alertSet>
    <command:examples>
        <command:example>
            <maml:title>-------------------------- Example 1 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; $password = Read-Host -Prompt &quot;Enter PFX password&quot; -AsSecureString
PS C:\&gt; Convert-PemToPfx -InputPath C:\test\ssl.pem -OutputPath c:\test\ssl.pfx -Password $password</dev:code>
            <dev:remarks>
                <maml:para>In this example, ssl.pem file is converted to PFX file and saved to ssl.pfx file. This example assumes that public certificate and associated private key are stored in the same file.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
        <command:example>
            <maml:title>-------------------------- Example 2 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; $password = ConvertTo-SecureString &quot;P@ssW0rD!&quot; -asplaintext -force
PS C:\&gt; Convert-PemToPfx -InputPath C:\test\ssl.pem -KeyPath c:\test\ssl.key -OutputPath c:\test\ssl.pfx -Password $password</dev:code>
            <dev:remarks>
                <maml:para>In this example, ssl.pem file is converted to PFX file and saved to ssl.pfx file. This example assumes that public certificate and associated private key are stored in separate files.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
        <command:example>
            <maml:title>-------------------------- Example 3 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; Convert-PemToPfx -InputPath C:\test\ssl.pem -Install -StoreLocation &quot;LocalMachine&quot;</dev:code>
            <dev:remarks>
                <maml:para>In this example, ssl.pem file is converted to in-memory PFX object and is imported to &quot;Local Machine\Personal&quot; (Cert:\LocalMachine\My) certificate store. No PFX file is generated.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>https://www.sysadmins.lv/projects/pspki/convert-pemtopfx.aspx</maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Convert-PfxToPem</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
<!--Generated by PS Cmdlet Help Editor-->
    <command:details>
        <command:name>Convert-PfxToPem</command:name>
        <maml:description>
            <maml:para>Converts PKCS#12/PFX file or X509Certificate2 object to OpenSSL-compatible PEM (Privacy Enhanced Mail) file. </maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para />
        </maml:copyright>
        <command:verb>Convert</command:verb>
        <command:noun>PfxToPem</command:noun>
        <dev:version />
    </command:details>
    <maml:description>
        <maml:para>Converts PKCS#12/PFX file or X509Certificate2 object to OpenSSL-compatible PEM (Privacy Enhanced Mail) file. The command converts CryptoAPI X.509 certificate and private key to a X.509 public certificate and associated either PKCS#1 or PKCS#8 private key.</maml:para>
        <maml:para>Note: for this command to succeed, the private key must be marked as exportable in plain text mode.</maml:para>
    </maml:description>
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Convert-PfxToPem</maml:name>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>InputFile</maml:name>
                <maml:description>
                    <maml:para>Specifies the path to a PKCS#12/PFX file. Password parameter is required when using this parameter.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">FileInfo</command:parameterValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1">
                <maml:name>Password</maml:name>
                <maml:description>
                    <maml:para>Specifies the password to open PKCS#12/PFX file. This parameter is mandatory when using InputFile parameter.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">SecureString</command:parameterValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="2">
                <maml:name>OutputFile</maml:name>
                <maml:description>
                    <maml:para>Specifies the path to a output PEM file.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">FileInfo</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="3">
                <maml:name>OutputType</maml:name>
                <maml:description>
                    <maml:para>Specifies the format for exported private key. Possible values are either: &#39;Pkcs1&#39; or &#39;Pkcs8&#39; (default).</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>IncludeChain</maml:name>
                <maml:description>
                    <maml:para>Attempts to build the certificate chain and exports them to PEM file along with private key.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
        <command:syntaxItem>
            <maml:name>Convert-PfxToPem</maml:name>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>Certificate</maml:name>
                <maml:description>
                    <maml:para>Specifies an existing X509Certificate2 object that contains associated exportable private key.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">X509Certificate2</command:parameterValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="2">
                <maml:name>OutputFile</maml:name>
                <maml:description>
                    <maml:para>Specifies the path to a output PEM file.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">FileInfo</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="3">
                <maml:name>OutputType</maml:name>
                <maml:description>
                    <maml:para>Specifies the format for exported private key. Possible values are either: &#39;Pkcs1&#39; or &#39;Pkcs8&#39; (default).</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>IncludeChain</maml:name>
                <maml:description>
                    <maml:para>Attempts to build the certificate chain and exports them to PEM file along with private key.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <command:parameters>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
            <maml:name>InputFile</maml:name>
            <maml:description>
                <maml:para>Specifies the path to a PKCS#12/PFX file. Password parameter is required when using this parameter.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">FileInfo</command:parameterValue>
            <dev:type>
                <maml:name>FileInfo</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1">
            <maml:name>Password</maml:name>
            <maml:description>
                <maml:para>Specifies the password to open PKCS#12/PFX file. This parameter is mandatory when using InputFile parameter.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">SecureString</command:parameterValue>
            <dev:type>
                <maml:name>SecureString</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="2">
            <maml:name>OutputFile</maml:name>
            <maml:description>
                <maml:para>Specifies the path to a output PEM file.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">FileInfo</command:parameterValue>
            <dev:type>
                <maml:name>FileInfo</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="3">
            <maml:name>OutputType</maml:name>
            <maml:description>
                <maml:para>Specifies the format for exported private key. Possible values are either: &#39;Pkcs1&#39; or &#39;Pkcs8&#39; (default).</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            <dev:type>
                <maml:name>String</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue>Pkcs8</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
            <maml:name>Certificate</maml:name>
            <maml:description>
                <maml:para>Specifies an existing X509Certificate2 object that contains associated exportable private key.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">X509Certificate2</command:parameterValue>
            <dev:type>
                <maml:name>X509Certificate2</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>IncludeChain</maml:name>
            <maml:description>
                <maml:para>Attempts to build the certificate chain and exports them to PEM file along with private key.</maml:para>
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
    </command:parameters>
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name>System.IO.FileInfo</maml:name>
                <maml:uri>https://msdn.microsoft.com/en-us/library/system.io.fileinfo.aspx</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:inputType>
        <command:inputType>
            <dev:type>
                <maml:name>
System.Security.Cryptography.X509Certificates.X509Certificate2</maml:name>
                <maml:uri>
https://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.x509certificate2.aspx</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>None.</maml:name>
                <maml:uri></maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <command:terminatingErrors></command:terminatingErrors>
    <command:nonTerminatingErrors></command:nonTerminatingErrors>
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>Author: Vadims Podans
Blog: https://www.sysadmins.lv</maml:para>
        </maml:alert>
    </maml:alertSet>
    <command:examples>
        <command:example>
            <maml:title>-------------------------- Example 1 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; $pass = Read-Host &quot;Enter password for PFX file:&quot; -AsSecureString
PS C:\&gt; Convert-PfxToPem -InputPath c:\test\ssl.pfx -Password $pass -OutputPath c:\test\ssl.pem</dev:code>
            <dev:remarks>
                <maml:para>In this example, ssl.pfx file is converted to PEM format. Public certificate and associated private key are saved in the same file. Private key is encoded in PKCS#8 format.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
        <command:example>
            <maml:title>-------------------------- Example 2 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; Convert-PfxToPem -InputPath c:\test\ssl.pfx -Password (ConvertTo-SecureString &apos;P@ssw0rd&apos; -AsPlainText -Force) -OutputPath c:\test\ssl.pem -OutputType Pkcs1</dev:code>
            <dev:remarks>
                <maml:para>Similar to previous example which can be used in quiet mode.
In this example, ssl.pfx file is converted to PEM format. Public certificate and associated private key are saved in the same file. Private key is encoded in PKCS#1 format.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
        <command:example>
            <maml:title>-------------------------- Example 3 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; $cert = @(Get-ChildItem cert:\LocalMachine\My | Where-Object {$_.Subject -like &quot;*www.company.com*&quot;})[0]
PS C:\&gt; Convert-PfxToPem -Certificate $cert -OutputPath c:\test\ssl.pem -IncludeChain</dev:code>
            <dev:remarks>
                <maml:para>In this example, the certificate is retrieved from local certificate store and converted PEM is saved to &#39;ssl.pem&#39; file. Private key is converted to PKCS#8 format. Resulted file will contain: PKCS#8 private key, leaf certificate and all available intermediate CA certificates, including Root CA certificate if applicable.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>https://www.sysadmins.lv/projects/pspki/convert-pfxtopem.aspx</maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Convert-PemToPfx</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
<!--Generated by PS Cmdlet Help Editor-->
    <command:details>
        <command:name>Get-CertificateRequest</command:name>
        <maml:description>
            <maml:para>Retrieves an X.509 certificate signing request (CSR) object from a file or a DER-encoded byte array.</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para />
        </maml:copyright>
        <command:verb>Get</command:verb>
        <command:noun>CertificateRequest</command:noun>
        <dev:version />
    </command:details>
    <maml:description>
        <maml:para>Retrieves and decodes X.509 certificate request object from a file or a DER-encoded byte array.</maml:para>
        <maml:para>Certificate signing request is a message sent from an applicant to a certificate authority in order to apply for a digital certificate. You can review formatted request information calling a &quot;ToString()&quot; method on returned object.</maml:para>
        <maml:para>
This command supports both, PKCS#10 and PKCS#7/CMC certificate reuqests.</maml:para>
    </maml:description>
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Get-CertificateRequest</maml:name>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="0">
                <maml:name>Path</maml:name>
                <maml:description>
                    <maml:para>Specifies the path to a certificate request file. Usually, this file has a &quot;.req&quot; or &quot;.csr&quot; file extension.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
        <command:syntaxItem>
            <maml:name>Get-CertificateRequest</maml:name>
            <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="0">
                <maml:name>RawRequest</maml:name>
                <maml:description>
                    <maml:para>Specifies a DER-encoded byte array that containg certificate request information.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="true">Byte[]</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <command:parameters>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="0">
            <maml:name>Path</maml:name>
            <maml:description>
                <maml:para>Specifies the path to a certificate request file. Usually, this file has a &quot;.req&quot; or &quot;.csr&quot; file extension.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            <dev:type>
                <maml:name>String</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="0">
            <maml:name>RawRequest</maml:name>
            <maml:description>
                <maml:para>Specifies a DER-encoded byte array that containg certificate request information.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="true">Byte[]</command:parameterValue>
            <dev:type>
                <maml:name>Byte[]</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
    </command:parameters>
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name>System.String</maml:name>
                <maml:uri>https://msdn.microsoft.com/en-us/library/system.string.aspx</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:inputType>
        <command:inputType>
            <dev:type>
                <maml:name>
System.Byte[]</maml:name>
                <maml:uri>
https://msdn.microsoft.com/en-us/library/system.byte.aspx</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>System.Security.Cryptography.X509CertificateRequests.X509CertificateRequest</maml:name>
                <maml:uri>https://www.sysadmins.lv/library/pkix.net/html/T_System_Security_Cryptography_X509CertificateRequests_X509CertificateRequest.htm</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <command:terminatingErrors></command:terminatingErrors>
    <command:nonTerminatingErrors></command:nonTerminatingErrors>
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>Author: Vadims Podans
Blog: https://www.sysadmins.lv</maml:para>
        </maml:alert>
    </maml:alertSet>
    <command:examples>
        <command:example>
            <maml:title>-------------------------- Example 1 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; Get-CertificateRequest C:\mycert.req</dev:code>
            <dev:remarks>
                <maml:para>Retrieves certificate request object from a file.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
        <command:example>
            <maml:title>-------------------------- Example 2 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; $Raw = [convert]::FromBase64String($Base64encodedstring)
PS C:\&gt; Get-CertificateRequest -RawRequest $Raw</dev:code>
            <dev:remarks>
                <maml:para>In this example, $Base64encodedstring contains certificate request in a Base64 encoding and is converted to a byte array and passed to Get-CertificateRequest to get the request object.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>https://www.sysadmins.lv/projects/pspki/get-certificaterequest.aspx</maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Submit-CertificateRequest</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
<!--Generated by PS Cmdlet Help Editor-->
    <command:details>
        <command:name>Get-CertificateRevocationList</command:name>
        <maml:description>
            <maml:para>Retrieves Certificate Revocation List object from a file or a DER-encoded byte array.</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para />
        </maml:copyright>
        <command:verb>Get</command:verb>
        <command:noun>CertificateRevocationList</command:noun>
        <dev:version />
    </command:details>
    <maml:description>
        <maml:para>Retrieves an X.509 Certificate Revocation List (CRL) object from a file or a DER-encoded byte array.</maml:para>
        <maml:para>Certificate Revocation List (CRL) is a digitally signed file issued by a Certification Authority (CA) that contains serial numbers of certificates that are explicitly revoked (must not be accepted by applications) before specified certificate expiration. Client application uses CRL file during presented certificate validation to determine whether it is valid for usage. If the certificate (its serial number) is presented in the CRL, application must reject presented certificate.</maml:para>
    </maml:description>
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Get-CertificateRevocationList</maml:name>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="0">
                <maml:name>Path</maml:name>
                <maml:description>
                    <maml:para>Specifies the path to a file.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
        <command:syntaxItem>
            <maml:name>Get-CertificateRevocationList</maml:name>
            <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="0">
                <maml:name>RawCRL</maml:name>
                <maml:description>
                    <maml:para>Specifies a DER-encoded byte array that represents a Certificate Revocation List (CRL).</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="true">Byte[]</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <command:parameters>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="0">
            <maml:name>Path</maml:name>
            <maml:description>
                <maml:para>Specifies the path to a file.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            <dev:type>
                <maml:name>String</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="0">
            <maml:name>RawCRL</maml:name>
            <maml:description>
                <maml:para>Specifies a DER-encoded byte array that represents a Certificate Revocation List (CRL).</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="true">Byte[]</command:parameterValue>
            <dev:type>
                <maml:name>Byte[]</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
    </command:parameters>
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name>System.String</maml:name>
                <maml:uri>https://msdn.microsoft.com/en-us/library/system.string.aspx</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:inputType>
        <command:inputType>
            <dev:type>
                <maml:name>
System.Byte[]</maml:name>
                <maml:uri>
https://msdn.microsoft.com/en-us/library/system.byte.aspx</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>System.Security.Cryptography.X509Certificates.X509CRL2</maml:name>
                <maml:uri>https://www.sysadmins.lv/library/pkix.net/html/T_System_Security_Cryptography_X509Certificates_X509CRL2.htm</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <command:terminatingErrors></command:terminatingErrors>
    <command:nonTerminatingErrors></command:nonTerminatingErrors>
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>Author: Vadims Podans
Blog: https://www.sysadmins.lv</maml:para>
        </maml:alert>
    </maml:alertSet>
    <command:examples>
        <command:example>
            <maml:title>-------------------------- Example 1 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; Get-CRL C:\Custom.crl</dev:code>
            <dev:remarks>
                <maml:para>In this example, the CRL object is constructed from a CRL file.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
        <command:example>
            <maml:title>-------------------------- Example 2 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; $Raw = [IO.FILE]::ReadAllBytes(&quot;C:\Custom.crl&quot;)
PS C:\&gt; Get-CRL -RawCRL $Raw</dev:code>
            <dev:remarks>
                <maml:para>Returns X509CRL2 object from a DER-encoded byte array.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>https://www.sysadmins.lv/projects/pspki/get-certificaterevocationlist.aspx</maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Show-CertificateRevocationList</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
<!--Generated by PS Cmdlet Help Editor-->
    <command:details>
        <command:name>Get-CertificateTrustList</command:name>
        <maml:description>
            <maml:para>Retrieves Certificate Trust List (CTL) object from a file or a DER-encoded byte array.</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para />
        </maml:copyright>
        <command:verb>Get</command:verb>
        <command:noun>CertificateTrustList</command:noun>
        <dev:version />
    </command:details>
    <maml:description>
        <maml:para>Retrieves a Certificate Trust List (CTL) object from a file or a DER-encoded byte array.</maml:para>
        <maml:para>A CTL is a predefined list of items signed by a trusted entity. A CTL is a list of hashes of certificates or a list of file names. All items in the list are authenticated (signed) and approved by a trusted signing entity. The primary use of CTLs is to verify signed messages, using the CTL as a source of trusted root certificates.</maml:para>
    </maml:description>
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Get-CertificateTrustList</maml:name>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="0">
                <maml:name>Path</maml:name>
                <maml:description>
                    <maml:para>Specifies the path to a file.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
        <command:syntaxItem>
            <maml:name>Get-CertificateTrustList</maml:name>
            <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="0">
                <maml:name>RawCTL</maml:name>
                <maml:description>
                    <maml:para>Specifies a DER-encoded byte array that represents a Certificate Trust List (CTL).</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="true">Byte[]</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <command:parameters>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="0">
            <maml:name>Path</maml:name>
            <maml:description>
                <maml:para>Specifies the path to a file.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            <dev:type>
                <maml:name>String</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="0">
            <maml:name>RawCTL</maml:name>
            <maml:description>
                <maml:para>Specifies a DER-encoded byte array that represents a Certificate Trust List (CTL).</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="true">Byte[]</command:parameterValue>
            <dev:type>
                <maml:name>Byte[]</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
    </command:parameters>
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name>System.String</maml:name>
                <maml:uri>https://msdn.microsoft.com/en-us/library/system.string.aspx</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:inputType>
        <command:inputType>
            <dev:type>
                <maml:name>
System.Byte[]</maml:name>
                <maml:uri>
https://msdn.microsoft.com/en-us/library/system.byte.aspx</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>System.Security.Cryptography.X509Certificates.X509CTL</maml:name>
                <maml:uri>https://www.sysadmins.lv/library/pkix.net/html/T_System_Security_Cryptography_X509Certificates_X509CTL.htm</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <command:terminatingErrors></command:terminatingErrors>
    <command:nonTerminatingErrors></command:nonTerminatingErrors>
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>Author: Vadims Podans
Blog: https://www.sysadmins.lv</maml:para>
        </maml:alert>
    </maml:alertSet>
    <command:examples>
        <command:example>
            <maml:title>-------------------------- Example 1 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; Get-CertificateTrustList -Path C:\authroot.stl</dev:code>
            <dev:remarks>
                <maml:para>In this example, the CTL object is constructed from a CTL file. CTLs usually have an .stl extension.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
        <command:example>
            <maml:title>-------------------------- Example 2 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; $Raw = [IO.FILE]::ReadAllBytes(&quot;C:\authroot.stl&quot;)
Get-CertificateTrustList -RawCTL $Raw</dev:code>
            <dev:remarks>
                <maml:para>CTL object is constructed from a byte array.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>https://www.sysadmins.lv/projects/pspki/get-certificatetrustlist.aspx</maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Show-CertificateTrustList</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
<!--Generated by PS Cmdlet Help Editor-->
    <command:details>
        <command:name>Get-CryptographicServiceProvider</command:name>
        <maml:description>
            <maml:para>Retrieves a list of Cryptographic Service Providers (CSP) installed on the system.</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para />
        </maml:copyright>
        <command:verb>Get</command:verb>
        <command:noun>CryptographicServiceProvider</command:noun>
        <dev:version />
    </command:details>
    <maml:description>
        <maml:para>Retrieves a list of Cryptographic Service Providers (CSP) installed on the system with extended properties. This command supports both, legacy (also known as CryptoAPI) and Key Storage (KSP) providers (known as CAPI2 or CNG providers). This command displays supported cryptographic algorithms, possible key sizes and used protocol (for example, signing, hashing, encryption, etc).</maml:para>
    </maml:description>
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Get-CryptographicServiceProvider</maml:name>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>Name</maml:name>
                <maml:description>
                    <maml:para />
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <command:parameters>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="0">
            <maml:name>Name</maml:name>
            <maml:description>
                <maml:para />
            </maml:description>
            <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            <dev:type>
                <maml:name>String</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
    </command:parameters>
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name>None.</maml:name>
                <maml:uri></maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>SysadminsLV.PKI.Cryptography.CspProviderInfoCollection</maml:name>
                <maml:uri>https://www.sysadmins.lv/library/pkix.net/html/T_SysadminsLV_PKI_Cryptography_CspProviderInfoCollection.htm</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <command:terminatingErrors></command:terminatingErrors>
    <command:nonTerminatingErrors></command:nonTerminatingErrors>
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>Author: Vadims Podans
Blog: https://www.sysadmins.lv</maml:para>
        </maml:alert>
    </maml:alertSet>
    <command:examples>
        <command:example>
            <maml:title>-------------------------- Example 1 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; Get-CryptographicServiceProvider</dev:code>
            <dev:remarks>
                <maml:para>Returns all installed CSPs with their extended properties.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>https://www.sysadmins.lv/projects/pspki/get-cryptographicserviceprovider.aspx</maml:uri>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
<!--Generated by PS Cmdlet Help Editor-->
    <command:details>
        <command:name>Get-EnrollmentPolicyServerClient</command:name>
        <maml:description>
            <maml:para>Retrieves locally registered Certificate Enrollment Policy (CEP) server endpoints.</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para />
        </maml:copyright>
        <command:verb>Get</command:verb>
        <command:noun>EnrollmentPolicyServerClient</command:noun>
        <dev:version />
    </command:details>
    <maml:description>
        <maml:para>Retrieves locally registered Certificate Enrollment Policy (CEP) server endpoints and their settings. Certificate Enrollment Policy Service provides an ability to perform non-domain (from standalone machine and from non-Windows operating system) to enroll client certificates from Windows-based CA server. By using CEP servers, clients can utilize autoenrollment functionality without domain membership.</maml:para>
        <maml:para>The command retrieves CEP service information that is registered by group policy or local registry information.</maml:para>
        <maml:para>Note: this command is available and supported on Windows 7/Windows Server 2008 R2 and newer operating systems.</maml:para>
    </maml:description>
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Get-EnrollmentPolicyServerClient</maml:name>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>UserContext</maml:name>
                <maml:description>
                    <maml:para>Specifies the context to retrieve. If the switch is presented, then CEP servers registered for the current user account are returned, otherwise, CEP servers registered for local machine account are returned.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <command:parameters>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>UserContext</maml:name>
            <maml:description>
                <maml:para>Specifies the context to retrieve. If the switch is presented, then CEP servers registered for the current user account are returned, otherwise, CEP servers registered for local machine account are returned.</maml:para>
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
    </command:parameters>
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name>None.</maml:name>
                <maml:uri></maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>PKI.Enrollment.Policy.PolicyServerClient[]</maml:name>
                <maml:uri>https://www.sysadmins.lv/library/pkix.net/html/T_PKI_Enrollment_Policy_PolicyServerClient.htm</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <command:terminatingErrors></command:terminatingErrors>
    <command:nonTerminatingErrors></command:nonTerminatingErrors>
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>Author: Vadims Podans
Blog: https://www.sysadmins.lv</maml:para>
        </maml:alert>
    </maml:alertSet>
    <command:examples>
        <command:example>
            <maml:title>-------------------------- Example 1 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; Get-EnrollmentPolicyServerClient -UserContext</dev:code>
            <dev:remarks>
                <maml:para>Retrieves all locally registered CEP clients.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>https://www.sysadmins.lv/projects/pspki/get-enrollmentpolicyserverclient.aspx</maml:uri>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
<!--Generated by PS Cmdlet Help Editor-->
    <command:details>
        <command:name>Get-ErrorMessage</command:name>
        <maml:description>
            <maml:para>Displays a human readable error message of Win32 and WinInet error codes</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para />
        </maml:copyright>
        <command:verb>Get</command:verb>
        <command:noun>ErrorMessage</command:noun>
        <dev:version />
    </command:details>
    <maml:description>
        <maml:para>Displays a human readable error message of Win32 and WinInet error codes. The command supports short and long error message notations. The commands support both, integer and hex (0x########) forms.</maml:para>
    </maml:description>
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Get-ErrorMessage</maml:name>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>ErrorCode</maml:name>
                <maml:description>
                    <maml:para>Specifies a Win32/WinInet error code. This parameter supports short and long error code notations.
Short notation: 5
Long notation as hex: 0x80070005
Long notation as integer: -2147024891</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <command:parameters>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
            <maml:name>ErrorCode</maml:name>
            <maml:description>
                <maml:para>Specifies a Win32/WinInet error code. This parameter supports short and long error code notations.
Short notation: 5
Long notation as hex: 0x80070005
Long notation as integer: -2147024891</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
            <dev:type>
                <maml:name>Int32</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
    </command:parameters>
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name>System.Int32</maml:name>
                <maml:uri>https://msdn.microsoft.com/en-us/library/System.Int32.aspx</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>System.String</maml:name>
                <maml:uri>https://msdn.microsoft.com/en-us/library/system.string.aspx</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <command:terminatingErrors></command:terminatingErrors>
    <command:nonTerminatingErrors></command:nonTerminatingErrors>
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>Author: Vadims Podans
Blog: https://www.sysadmins.lv</maml:para>
        </maml:alert>
    </maml:alertSet>
    <command:examples>
        <command:example>
            <maml:title>-------------------------- Example 1 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; Get-ErrorMessage 5</dev:code>
            <dev:remarks>
                <maml:para>Displays a text associated with the Win32 error code 5 (Access denied) that is specified in a short notation.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
        <command:example>
            <maml:title>-------------------------- Example 2 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; Get-ErrorMessage 0x80070005</dev:code>
            <dev:remarks>
                <maml:para>Displays a text associated with the Win32 error code 0x8007005 (Access denied) that is specified as a hex.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
        <command:example>
            <maml:title>-------------------------- Example 3 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; Get-ErrorMessage -2147024891</dev:code>
            <dev:remarks>
                <maml:para>Displays a text associated with the Win32 error code -2147024891 (Access denied) that is specified as an integer.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>https://www.sysadmins.lv/projects/pspki/get-errormessage.aspx</maml:uri>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
<!--Generated by PS Cmdlet Help Editor-->
    <command:details>
        <command:name>Get-ObjectIdentifier</command:name>
        <maml:description>
            <maml:para>Resolves object identifier value to a associated friendly name and vice versa.</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para />
        </maml:copyright>
        <command:verb>Get</command:verb>
        <command:noun>ObjectIdentifier</command:noun>
        <dev:version />
    </command:details>
    <maml:description>
        <maml:para>Resolves object identifier value to a associated friendly name and vice versa. The cmdlet resolves both well-known OIDs (used in Internet PKI) and Active Directory forest specific registered OIDs.</maml:para>
    </maml:description>
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Get-ObjectIdentifier</maml:name>
            <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="true (ByValue)" position="0">
                <maml:name>OIDString</maml:name>
                <maml:description>
                    <maml:para>Specifies a string or strings that represents object identifier friendly name or value.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="true">String[]</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <command:parameters>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="true (ByValue)" position="0">
            <maml:name>OIDString</maml:name>
            <maml:description>
                <maml:para>Specifies a string or strings that represents object identifier friendly name or value.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="true">String[]</command:parameterValue>
            <dev:type>
                <maml:name>String[]</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
    </command:parameters>
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name>System.String[]</maml:name>
                <maml:uri>http://msdn.microsoft.com/en-us/library/System.String.aspx</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>System.Security.Cryptography.Oid[]</maml:name>
                <maml:uri>https://msdn.microsoft.com/en-us/library/System.Security.Cryptography.Oid.aspx</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <command:terminatingErrors></command:terminatingErrors>
    <command:nonTerminatingErrors></command:nonTerminatingErrors>
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>Author: Vadims Podans
Blog: https://www.sysadmins.lv</maml:para>
        </maml:alert>
    </maml:alertSet>
    <command:examples>
        <command:example>
            <maml:title>-------------------------- Example 1 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; Get-ObjectIdentifier &quot;Server Authentication&quot;</dev:code>
            <dev:remarks>
                <maml:para>Will resolve &#39;Server Authentication&#39; OID to an object identifier value (1.3.6.1.5.5.7.3.1).</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
        <command:example>
            <maml:title>-------------------------- Example 2 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; Get-ObjectIdentifier &quot;1.3.6.1.5.5.7.3.9&quot;</dev:code>
            <dev:remarks>
                <maml:para>Will resolve &#39;1.3.6.1.5.5.7.3.9&#39; value to a friendly name (OCSP Signing).</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>https://www.sysadmins.lv/projects/pspki/get-objectidentifier.aspx</maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-ObjectIdentifierEx</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Register-ObjectIdentifier</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Unregister-ObjectIdentifier</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
<!--Generated by PS Cmdlet Help Editor-->
    <command:details>
        <command:name>Get-ObjectIdentifierEx</command:name>
        <maml:description>
            <maml:para>Resolves object identifier value to a associated friendly name and vice versa and returns extended information.</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para />
        </maml:copyright>
        <command:verb>Get</command:verb>
        <command:noun>ObjectIdentifierEx</command:noun>
        <dev:version />
    </command:details>
    <maml:description>
        <maml:para>Resolves object identifier value to a associated friendly name and vice versa. The cmdlet resolves both well-known OIDs (used in Internet PKI) and Active Directory forest specific registered OIDs.</maml:para>
        <maml:para>The difference with Get-ObjectIdentifier here is a more detailed output information about OID registration and OID type.</maml:para>
        <maml:para>The output of the command can be piped to Unregister-ObjectIdentifier command.</maml:para>
    </maml:description>
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Get-ObjectIdentifierEx</maml:name>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>Value</maml:name>
                <maml:description>
                    <maml:para>Specifies a string or strings that represents object identifier friendly name or value.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="1">
                <maml:name>Group</maml:name>
                <maml:description>
                    <maml:para>Specifies the object identifier group. By default, the command looks for an OID in all groups. The possible value can be either:
HashAlgroithm -- represents hash algorithm group.
EncryptionAlgorithm -- represents encryption group (symmetric algorithms only).
PublicKeyAlgorithm -- represents public/private key algorithm group (asymmetric algorithms only).
SignatureAlgorithm -- represents signature algorithm group.
RDNAttribute -- represents X.500 Distinguished Name relative attributes.
ExtensionOrAttribute -- represents certificate extension or certificate attribute group.
ApplicationPolicy -- represents application policy group (the same as enhanced key usage).
IssuancePolicy -- represents certificate policy group.
CertificateTemplate -- represents certificate template group.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">OidGroupEnum</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>UseActiveDirectory</maml:name>
                <maml:description>
                    <maml:para>Indicates that the command should attempt to search both local registry OID tables and OID registrations in Active Directory.</maml:para>
                    <maml:para>Note: This parameter is always enabled and cannot be disabled on Windows XP and Windows Server 2003 computers.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <command:parameters>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
            <maml:name>Value</maml:name>
            <maml:description>
                <maml:para>Specifies a string or strings that represents object identifier friendly name or value.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            <dev:type>
                <maml:name>String</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="1">
            <maml:name>Group</maml:name>
            <maml:description>
                <maml:para>Specifies the object identifier group. By default, the command looks for an OID in all groups. The possible value can be either:
HashAlgroithm -- represents hash algorithm group.
EncryptionAlgorithm -- represents encryption group (symmetric algorithms only).
PublicKeyAlgorithm -- represents public/private key algorithm group (asymmetric algorithms only).
SignatureAlgorithm -- represents signature algorithm group.
RDNAttribute -- represents X.500 Distinguished Name relative attributes.
ExtensionOrAttribute -- represents certificate extension or certificate attribute group.
ApplicationPolicy -- represents application policy group (the same as enhanced key usage).
IssuancePolicy -- represents certificate policy group.
CertificateTemplate -- represents certificate template group.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">OidGroupEnum</command:parameterValue>
            <dev:type>
                <maml:name>OidGroupEnum</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>UseActiveDirectory</maml:name>
            <maml:description>
                <maml:para>Indicates that the command should attempt to search both local registry OID tables and OID registrations in Active Directory.</maml:para>
                <maml:para>Note: This parameter is always enabled and cannot be disabled on Windows XP and Windows Server 2003 computers.</maml:para>
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
    </command:parameters>
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name>System.String</maml:name>
                <maml:uri>https://msdn.microsoft.com/en-us/library/system.string.aspx</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>System.Security.Cryptography.Oid2</maml:name>
                <maml:uri>https://www.sysadmins.lv/library/pkix.net/html/T_System_Security_Cryptography_Oid2.htm</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <command:terminatingErrors></command:terminatingErrors>
    <command:nonTerminatingErrors></command:nonTerminatingErrors>
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>Author: Vadims Podans
Blog: https://www.sysadmins.lv</maml:para>
        </maml:alert>
    </maml:alertSet>
    <command:examples>
        <command:example>
            <maml:title>-------------------------- Example 1 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; Get-ObjectIdentifierEx -Value sha1</dev:code>
            <dev:remarks>
                <maml:para>Returns extended information about OID registration with friendly name &#39;sha1&#39;.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
        <command:example>
            <maml:title>-------------------------- Example 2 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; Get-ObjectIdentifierEx -Value &quot;Company smart card policy&quot; -UseActiveDirectory | Unregister-ObjectIdentifier</dev:code>
            <dev:remarks>
                <maml:para>Gets information about OID registration with friendly name &#39;Company smart card policy&#39; and deletes all OID registrations from local system and Active Directory.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>https://www.sysadmins.lv/projects/pspki/get-objectidentifierex.aspx</maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-ObjectIdentifier</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Register-ObjectIdentifier</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Unregister-ObjectIdentifier</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
<!--Generated by PS Cmdlet Help Editor-->
    <command:details>
        <command:name>New-SelfSignedCertificateEx</command:name>
        <maml:description>
            <maml:para>This cmdlet generates a self-signed or CA-signed certificate</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para />
        </maml:copyright>
        <command:verb>New</command:verb>
        <command:noun>SelfSignedCertificateEx</command:noun>
        <dev:version />
    </command:details>
    <maml:description>
        <maml:para>This cmdlet generates a self-signed or CA-signed certificate with various options.</maml:para>
        <maml:para>Note: self-signed certificates (non-CA) should not be used in a production environment, they are generally intended for testing purposes only.</maml:para>
    </maml:description>
    <command:syntax>
        <command:syntaxItem>
            <maml:name>New-SelfSignedCertificateEx</maml:name>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>Subject</maml:name>
                <maml:description>
                    <maml:para>Specifies the certificate subject in a X500 distinguished name format.
Example: CN=Test Cert, OU=Sandbox</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="1">
                <maml:name>NotBefore</maml:name>
                <maml:description>
                    <maml:para>Specifies the date and time when the certificate become valid. By default previous day date is used.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="2">
                <maml:name>NotAfter</maml:name>
                <maml:description>
                    <maml:para>Specifies the date and time when the certificate expires. By default, the certificate is valid for 1 year.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>SerialNumber</maml:name>
                <maml:description>
                    <maml:para>Specifies the desired serial number in a hex format.
Example: 01a4ff2</maml:para>
                    <maml:para>If not specified, serial number is generated automatically.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>ProviderName</maml:name>
                <maml:description>
                    <maml:para>Specifies the Cryptography Service Provider (CSP) name. You can use either legacy CSP and Key Storage Providers (KSP). By default &quot;Microsoft Enhanced Cryptographic Provider v1.0&quot; CSP is used.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>AlgorithmName</maml:name>
                <maml:description>
                    <maml:para>Specifies the public key algorithm. By default RSA algorithm is used. RSA is the only algorithm supported by legacy CSPs. With key storage providers (KSP) you can use CNG algorithms, like ECDH. For CNG algorithms you must use full name:
ECDH_P256
ECDH_P384
ECDH_P521</maml:para>
                    <maml:para>In addition, KeyLength parameter must be specified explicitly when non-RSA algorithm is used.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>KeyLength</maml:name>
                <maml:description>
                    <maml:para>Specifies the key length to generate. By default an RSA 2048-bit key is generated.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>KeySpec</maml:name>
                <maml:description>
                    <maml:para>Specifies the public key operations type. The possible values are: Exchange and Signature. Default value is Exchange.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>EnhancedKeyUsage</maml:name>
                <maml:description>
                    <maml:para>Specifies the intended uses of the public key contained in a certificate. You can specify either, EKU&#39;s friendly name (for example &#39;Server Authentication&#39;) or object identifier (OID) value (for example &#39;1.3.6.1.5.5.7.3.1&#39;).</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="true">Oid[]</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>KeyUsage</maml:name>
                <maml:description>
                    <maml:para>Specifies restrictions on the operations that can be performed by the public key contained in the certificate. Possible values (and their respective integer values to make bitwise operations) are:
-- EncipherOnly
-- CrlSign
-- KeyCertSign
-- KeyAgreement
-- DataEncipherment
-- KeyEncipherment
-- NonRepudiation
-- DigitalSignature
-- DecipherOnly
  
you can combine key usages values by using bitwise OR operation. When combining multiple flags, they must be enclosed in quotes and separated by a comma character. For example, to combine KeyEncipherment and DigitalSignature flags you should type: &quot;KeyEncipherment, DigitalSignature&quot;.</maml:para>
                    <maml:para>If the certificate is CA certificate (see IsCA parameter), key usages extension is generated automatically with the following key usages: Certificate Signing, Off-line CRL Signing, CRL Signing.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">X509KeyUsageFlags</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>SubjectAlternativeName</maml:name>
                <maml:description>
                    <maml:para>Specifies alternative names for the subject. Unlike Subject field, this extension allows to specify more than one name. Also, multiple types of alternative names are supported.</maml:para>
                    <maml:para>The following syntax is used to specify alternative names (curve braces denote alternative name value):
-- DNS name: &quot;dns:{dns_name}&quot;. Example: &quot;dns:www.example.com&quot;
-- RFC822 Name: &quot;email:{email_address}&quot;. Example: &quot;email:someone@example.com&quot;
-- IP address: &quot;ip:{ipv4_or_ipv6}&quot;. Example: &quot;ip:192.168.0.1&quot;, &quot;ip:fd00:0:0:4::41&quot;
-- User Principal Name (UPN): &quot;upn:{user_principal_name}&quot;. Example: &quot;upn:someone@example.com&quot;
-- Directory name: &quot;dn:{X.500_name}&quot;. Example: &quot;dn:CN=Someone, OU=OrgUnit, O=Example Inc., C=US&quot;
-- Object Identifier (OID): &quot;oid:{IANA_assigned_oid}&quot;. Example: &quot;oid:1.2.3.4.5.6.99999&quot;
-- URL: &quot;url:{URL}&quot;. Example: &quot;url:https://host.example.com/resource.html&quot;
-- GUID: &quot;guid:{GUID}&quot;. Example: &quot;guid:42105db6-313e-41be-96ae-52fc4633507f&quot;</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="true">String[]</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>IsCA</maml:name>
                <maml:description>
                    <maml:para>Specifies whether the certificate is Certification Authority (IsCA = $true) or end entity (IsCA = $false) certificate. If this parameter is set to $false, PathLength parameter is ignored. Basic Constraints extension is marked as critical.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">Boolean</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>PathLength</maml:name>
                <maml:description>
                    <maml:para>Specifies the number of additional CA certificates in the chain under this certificate. If this parameter is set to zero, then no additional (subordinate) CA certificates are permitted under this CA.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>CustomExtension</maml:name>
                <maml:description>
                    <maml:para>Specifies the custom extension to include to a self-signed certificate. This parameter must not be used to specify the extension that is supported via other parameters. In order to use this parameter, the extension must be formed in a collection of initialized System.Security.Cryptography.X509Certificates.X509Extension objects.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">X509ExtensionCollection</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>SignatureAlgorithm</maml:name>
                <maml:description>
                    <maml:para>Specifies signature algorithm used to sign the certificate. By default &#39;SHA1&#39; algorithm is used.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>AlternateSignatureFormat</maml:name>
                <maml:description>
                    <maml:para>Specifies if PKCS#1 v2.1 signature format is used. When specified, RSA signature will be set to RSASSA-PSS and ECDSA will be set to EcdsaSpecified.</maml:para>
                    <maml:para>Note: this parameter may not be compatible with all cryptographic libraries.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Issuer</maml:name>
                <maml:description>
                    <maml:para>Specifies the signer certificate to sign generated certificate. When specified, generated certificate will be CA-signed, not self-signed. Generated certificate will include issuer name in Issuer field and includes AuthorityKeyIdenditier extension with issuer&#39;s public key SHA1 hash.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">X509Certificate2</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>FriendlyName</maml:name>
                <maml:description>
                    <maml:para>Specifies friendly name for the certificate.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Runtime</maml:name>
                <maml:description>
                    <maml:para>Specifies whether the certificate is generated in memory without installing it in Windows Certificate Store. By default, generated certificate is installed in Windows Certificate Store. Use this switch parameter to avoid interaction with Windows Certificate Store. Object returned by this command will be the only reference to the certificate and caller must interact with returned object only.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>AllowSMIME</maml:name>
                <maml:description>
                    <maml:para>Enables Secure/Multipurpose Internet Mail Extensions for the certificate.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Exportable</maml:name>
                <maml:description>
                    <maml:para>Marks private key as exportable. Smart card providers usually do not allow exportable keys.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
        <command:syntaxItem>
            <maml:name>New-SelfSignedCertificateEx</maml:name>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>Subject</maml:name>
                <maml:description>
                    <maml:para>Specifies the certificate subject in a X500 distinguished name format.
Example: CN=Test Cert, OU=Sandbox</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="1">
                <maml:name>NotBefore</maml:name>
                <maml:description>
                    <maml:para>Specifies the date and time when the certificate become valid. By default previous day date is used.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="2">
                <maml:name>NotAfter</maml:name>
                <maml:description>
                    <maml:para>Specifies the date and time when the certificate expires. By default, the certificate is valid for 1 year.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>SerialNumber</maml:name>
                <maml:description>
                    <maml:para>Specifies the desired serial number in a hex format.
Example: 01a4ff2</maml:para>
                    <maml:para>If not specified, serial number is generated automatically.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>ProviderName</maml:name>
                <maml:description>
                    <maml:para>Specifies the Cryptography Service Provider (CSP) name. You can use either legacy CSP and Key Storage Providers (KSP). By default &quot;Microsoft Enhanced Cryptographic Provider v1.0&quot; CSP is used.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>AlgorithmName</maml:name>
                <maml:description>
                    <maml:para>Specifies the public key algorithm. By default RSA algorithm is used. RSA is the only algorithm supported by legacy CSPs. With key storage providers (KSP) you can use CNG algorithms, like ECDH. For CNG algorithms you must use full name:
ECDH_P256
ECDH_P384
ECDH_P521</maml:para>
                    <maml:para>In addition, KeyLength parameter must be specified explicitly when non-RSA algorithm is used.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>KeyLength</maml:name>
                <maml:description>
                    <maml:para>Specifies the key length to generate. By default an RSA 2048-bit key is generated.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>KeySpec</maml:name>
                <maml:description>
                    <maml:para>Specifies the public key operations type. The possible values are: Exchange and Signature. Default value is Exchange.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>EnhancedKeyUsage</maml:name>
                <maml:description>
                    <maml:para>Specifies the intended uses of the public key contained in a certificate. You can specify either, EKU&#39;s friendly name (for example &#39;Server Authentication&#39;) or object identifier (OID) value (for example &#39;1.3.6.1.5.5.7.3.1&#39;).</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="true">Oid[]</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>KeyUsage</maml:name>
                <maml:description>
                    <maml:para>Specifies restrictions on the operations that can be performed by the public key contained in the certificate. Possible values (and their respective integer values to make bitwise operations) are:
-- EncipherOnly
-- CrlSign
-- KeyCertSign
-- KeyAgreement
-- DataEncipherment
-- KeyEncipherment
-- NonRepudiation
-- DigitalSignature
-- DecipherOnly
  
you can combine key usages values by using bitwise OR operation. When combining multiple flags, they must be enclosed in quotes and separated by a comma character. For example, to combine KeyEncipherment and DigitalSignature flags you should type: &quot;KeyEncipherment, DigitalSignature&quot;.</maml:para>
                    <maml:para>If the certificate is CA certificate (see IsCA parameter), key usages extension is generated automatically with the following key usages: Certificate Signing, Off-line CRL Signing, CRL Signing.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">X509KeyUsageFlags</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>SubjectAlternativeName</maml:name>
                <maml:description>
                    <maml:para>Specifies alternative names for the subject. Unlike Subject field, this extension allows to specify more than one name. Also, multiple types of alternative names are supported.</maml:para>
                    <maml:para>The following syntax is used to specify alternative names (curve braces denote alternative name value):
-- DNS name: &quot;dns:{dns_name}&quot;. Example: &quot;dns:www.example.com&quot;
-- RFC822 Name: &quot;email:{email_address}&quot;. Example: &quot;email:someone@example.com&quot;
-- IP address: &quot;ip:{ipv4_or_ipv6}&quot;. Example: &quot;ip:192.168.0.1&quot;, &quot;ip:fd00:0:0:4::41&quot;
-- User Principal Name (UPN): &quot;upn:{user_principal_name}&quot;. Example: &quot;upn:someone@example.com&quot;
-- Directory name: &quot;dn:{X.500_name}&quot;. Example: &quot;dn:CN=Someone, OU=OrgUnit, O=Example Inc., C=US&quot;
-- Object Identifier (OID): &quot;oid:{IANA_assigned_oid}&quot;. Example: &quot;oid:1.2.3.4.5.6.99999&quot;
-- URL: &quot;url:{URL}&quot;. Example: &quot;url:https://host.example.com/resource.html&quot;
-- GUID: &quot;guid:{GUID}&quot;. Example: &quot;guid:42105db6-313e-41be-96ae-52fc4633507f&quot;</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="true">String[]</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>IsCA</maml:name>
                <maml:description>
                    <maml:para>Specifies whether the certificate is Certification Authority (IsCA = $true) or end entity (IsCA = $false) certificate. If this parameter is set to $false, PathLength parameter is ignored. Basic Constraints extension is marked as critical.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">Boolean</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>PathLength</maml:name>
                <maml:description>
                    <maml:para>Specifies the number of additional CA certificates in the chain under this certificate. If this parameter is set to zero, then no additional (subordinate) CA certificates are permitted under this CA.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>CustomExtension</maml:name>
                <maml:description>
                    <maml:para>Specifies the custom extension to include to a self-signed certificate. This parameter must not be used to specify the extension that is supported via other parameters. In order to use this parameter, the extension must be formed in a collection of initialized System.Security.Cryptography.X509Certificates.X509Extension objects.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">X509ExtensionCollection</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>SignatureAlgorithm</maml:name>
                <maml:description>
                    <maml:para>Specifies signature algorithm used to sign the certificate. By default &#39;SHA1&#39; algorithm is used.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>AlternateSignatureFormat</maml:name>
                <maml:description>
                    <maml:para>Specifies if PKCS#1 v2.1 signature format is used. When specified, RSA signature will be set to RSASSA-PSS and ECDSA will be set to EcdsaSpecified.</maml:para>
                    <maml:para>Note: this parameter may not be compatible with all cryptographic libraries.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Issuer</maml:name>
                <maml:description>
                    <maml:para>Specifies the signer certificate to sign generated certificate. When specified, generated certificate will be CA-signed, not self-signed. Generated certificate will include issuer name in Issuer field and includes AuthorityKeyIdenditier extension with issuer&#39;s public key SHA1 hash.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">X509Certificate2</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>FriendlyName</maml:name>
                <maml:description>
                    <maml:para>Specifies friendly name for the certificate.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>StoreLocation</maml:name>
                <maml:description>
                    <maml:para>Specifies the store location to store self-signed certificate. Possible values are: &#39;CurrentUser&#39; and &#39;LocalMachine&#39;. &#39;CurrentUser&#39; store is intended for user certificates and computer (as well as CA) certificates must be stored in the &#39;LocalMachine&#39; store.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">StoreLocation</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>AllowSMIME</maml:name>
                <maml:description>
                    <maml:para>Enables Secure/Multipurpose Internet Mail Extensions for the certificate.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Exportable</maml:name>
                <maml:description>
                    <maml:para>Marks private key as exportable. Smart card providers usually do not allow exportable keys.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
        <command:syntaxItem>
            <maml:name>New-SelfSignedCertificateEx</maml:name>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>Subject</maml:name>
                <maml:description>
                    <maml:para>Specifies the certificate subject in a X500 distinguished name format.
Example: CN=Test Cert, OU=Sandbox</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="1">
                <maml:name>NotBefore</maml:name>
                <maml:description>
                    <maml:para>Specifies the date and time when the certificate become valid. By default previous day date is used.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="2">
                <maml:name>NotAfter</maml:name>
                <maml:description>
                    <maml:para>Specifies the date and time when the certificate expires. By default, the certificate is valid for 1 year.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>SerialNumber</maml:name>
                <maml:description>
                    <maml:para>Specifies the desired serial number in a hex format.
Example: 01a4ff2</maml:para>
                    <maml:para>If not specified, serial number is generated automatically.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>ProviderName</maml:name>
                <maml:description>
                    <maml:para>Specifies the Cryptography Service Provider (CSP) name. You can use either legacy CSP and Key Storage Providers (KSP). By default &quot;Microsoft Enhanced Cryptographic Provider v1.0&quot; CSP is used.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>AlgorithmName</maml:name>
                <maml:description>
                    <maml:para>Specifies the public key algorithm. By default RSA algorithm is used. RSA is the only algorithm supported by legacy CSPs. With key storage providers (KSP) you can use CNG algorithms, like ECDH. For CNG algorithms you must use full name:
ECDH_P256
ECDH_P384
ECDH_P521</maml:para>
                    <maml:para>In addition, KeyLength parameter must be specified explicitly when non-RSA algorithm is used.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>KeyLength</maml:name>
                <maml:description>
                    <maml:para>Specifies the key length to generate. By default an RSA 2048-bit key is generated.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>KeySpec</maml:name>
                <maml:description>
                    <maml:para>Specifies the public key operations type. The possible values are: Exchange and Signature. Default value is Exchange.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>EnhancedKeyUsage</maml:name>
                <maml:description>
                    <maml:para>Specifies the intended uses of the public key contained in a certificate. You can specify either, EKU&#39;s friendly name (for example &#39;Server Authentication&#39;) or object identifier (OID) value (for example &#39;1.3.6.1.5.5.7.3.1&#39;).</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="true">Oid[]</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>KeyUsage</maml:name>
                <maml:description>
                    <maml:para>Specifies restrictions on the operations that can be performed by the public key contained in the certificate. Possible values (and their respective integer values to make bitwise operations) are:
-- EncipherOnly
-- CrlSign
-- KeyCertSign
-- KeyAgreement
-- DataEncipherment
-- KeyEncipherment
-- NonRepudiation
-- DigitalSignature
-- DecipherOnly
  
you can combine key usages values by using bitwise OR operation. When combining multiple flags, they must be enclosed in quotes and separated by a comma character. For example, to combine KeyEncipherment and DigitalSignature flags you should type: &quot;KeyEncipherment, DigitalSignature&quot;.</maml:para>
                    <maml:para>If the certificate is CA certificate (see IsCA parameter), key usages extension is generated automatically with the following key usages: Certificate Signing, Off-line CRL Signing, CRL Signing.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">X509KeyUsageFlags</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>SubjectAlternativeName</maml:name>
                <maml:description>
                    <maml:para>Specifies alternative names for the subject. Unlike Subject field, this extension allows to specify more than one name. Also, multiple types of alternative names are supported.</maml:para>
                    <maml:para>The following syntax is used to specify alternative names (curve braces denote alternative name value):
-- DNS name: &quot;dns:{dns_name}&quot;. Example: &quot;dns:www.example.com&quot;
-- RFC822 Name: &quot;email:{email_address}&quot;. Example: &quot;email:someone@example.com&quot;
-- IP address: &quot;ip:{ipv4_or_ipv6}&quot;. Example: &quot;ip:192.168.0.1&quot;, &quot;ip:fd00:0:0:4::41&quot;
-- User Principal Name (UPN): &quot;upn:{user_principal_name}&quot;. Example: &quot;upn:someone@example.com&quot;
-- Directory name: &quot;dn:{X.500_name}&quot;. Example: &quot;dn:CN=Someone, OU=OrgUnit, O=Example Inc., C=US&quot;
-- Object Identifier (OID): &quot;oid:{IANA_assigned_oid}&quot;. Example: &quot;oid:1.2.3.4.5.6.99999&quot;
-- URL: &quot;url:{URL}&quot;. Example: &quot;url:https://host.example.com/resource.html&quot;
-- GUID: &quot;guid:{GUID}&quot;. Example: &quot;guid:42105db6-313e-41be-96ae-52fc4633507f&quot;</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="true">String[]</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>IsCA</maml:name>
                <maml:description>
                    <maml:para>Specifies whether the certificate is Certification Authority (IsCA = $true) or end entity (IsCA = $false) certificate. If this parameter is set to $false, PathLength parameter is ignored. Basic Constraints extension is marked as critical.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">Boolean</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>PathLength</maml:name>
                <maml:description>
                    <maml:para>Specifies the number of additional CA certificates in the chain under this certificate. If this parameter is set to zero, then no additional (subordinate) CA certificates are permitted under this CA.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>CustomExtension</maml:name>
                <maml:description>
                    <maml:para>Specifies the custom extension to include to a self-signed certificate. This parameter must not be used to specify the extension that is supported via other parameters. In order to use this parameter, the extension must be formed in a collection of initialized System.Security.Cryptography.X509Certificates.X509Extension objects.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">X509ExtensionCollection</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>SignatureAlgorithm</maml:name>
                <maml:description>
                    <maml:para>Specifies signature algorithm used to sign the certificate. By default &#39;SHA1&#39; algorithm is used.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>AlternateSignatureFormat</maml:name>
                <maml:description>
                    <maml:para>Specifies if PKCS#1 v2.1 signature format is used. When specified, RSA signature will be set to RSASSA-PSS and ECDSA will be set to EcdsaSpecified.</maml:para>
                    <maml:para>Note: this parameter may not be compatible with all cryptographic libraries.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Issuer</maml:name>
                <maml:description>
                    <maml:para>Specifies the signer certificate to sign generated certificate. When specified, generated certificate will be CA-signed, not self-signed. Generated certificate will include issuer name in Issuer field and includes AuthorityKeyIdenditier extension with issuer&#39;s public key SHA1 hash.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">X509Certificate2</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>FriendlyName</maml:name>
                <maml:description>
                    <maml:para>Specifies friendly name for the certificate.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Path</maml:name>
                <maml:description>
                    <maml:para>Specifies the path to a PFX file to export a self-signed certificate.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">FileInfo</command:parameterValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Password</maml:name>
                <maml:description>
                    <maml:para>Specifies the password for PFX file.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">SecureString</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>AllowSMIME</maml:name>
                <maml:description>
                    <maml:para>Enables Secure/Multipurpose Internet Mail Extensions for the certificate.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Exportable</maml:name>
                <maml:description>
                    <maml:para>Marks private key as exportable. Smart card providers usually do not allow exportable keys.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <command:parameters>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
            <maml:name>Subject</maml:name>
            <maml:description>
                <maml:para>Specifies the certificate subject in a X500 distinguished name format.
Example: CN=Test Cert, OU=Sandbox</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            <dev:type>
                <maml:name>String</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="1">
            <maml:name>NotBefore</maml:name>
            <maml:description>
                <maml:para>Specifies the date and time when the certificate become valid. By default previous day date is used.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue>
            <dev:type>
                <maml:name>DateTime</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue>Previous day&apos;s date</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="2">
            <maml:name>NotAfter</maml:name>
            <maml:description>
                <maml:para>Specifies the date and time when the certificate expires. By default, the certificate is valid for 1 year.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue>
            <dev:type>
                <maml:name>DateTime</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue>1 year from current day</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>SerialNumber</maml:name>
            <maml:description>
                <maml:para>Specifies the desired serial number in a hex format.
Example: 01a4ff2</maml:para>
                <maml:para>If not specified, serial number is generated automatically.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            <dev:type>
                <maml:name>String</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>ProviderName</maml:name>
            <maml:description>
                <maml:para>Specifies the Cryptography Service Provider (CSP) name. You can use either legacy CSP and Key Storage Providers (KSP). By default &quot;Microsoft Enhanced Cryptographic Provider v1.0&quot; CSP is used.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            <dev:type>
                <maml:name>String</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue>Microsoft Enhanced Cryptographic Provider v1.0</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>AlgorithmName</maml:name>
            <maml:description>
                <maml:para>Specifies the public key algorithm. By default RSA algorithm is used. RSA is the only algorithm supported by legacy CSPs. With key storage providers (KSP) you can use CNG algorithms, like ECDH. For CNG algorithms you must use full name:
ECDH_P256
ECDH_P384
ECDH_P521</maml:para>
                <maml:para>In addition, KeyLength parameter must be specified explicitly when non-RSA algorithm is used.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            <dev:type>
                <maml:name>String</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue>RSA</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>KeyLength</maml:name>
            <maml:description>
                <maml:para>Specifies the key length to generate. By default an RSA 2048-bit key is generated.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
            <dev:type>
                <maml:name>Int32</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue>2048</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>KeySpec</maml:name>
            <maml:description>
                <maml:para>Specifies the public key operations type. The possible values are: Exchange and Signature. Default value is Exchange.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            <dev:type>
                <maml:name>String</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue>Exchange</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
            <maml:name>EnhancedKeyUsage</maml:name>
            <maml:description>
                <maml:para>Specifies the intended uses of the public key contained in a certificate. You can specify either, EKU&#39;s friendly name (for example &#39;Server Authentication&#39;) or object identifier (OID) value (for example &#39;1.3.6.1.5.5.7.3.1&#39;).</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="true">Oid[]</command:parameterValue>
            <dev:type>
                <maml:name>Oid[]</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>KeyUsage</maml:name>
            <maml:description>
                <maml:para>Specifies restrictions on the operations that can be performed by the public key contained in the certificate. Possible values (and their respective integer values to make bitwise operations) are:
-- EncipherOnly
-- CrlSign
-- KeyCertSign
-- KeyAgreement
-- DataEncipherment
-- KeyEncipherment
-- NonRepudiation
-- DigitalSignature
-- DecipherOnly
  
you can combine key usages values by using bitwise OR operation. When combining multiple flags, they must be enclosed in quotes and separated by a comma character. For example, to combine KeyEncipherment and DigitalSignature flags you should type: &quot;KeyEncipherment, DigitalSignature&quot;.</maml:para>
                <maml:para>If the certificate is CA certificate (see IsCA parameter), key usages extension is generated automatically with the following key usages: Certificate Signing, Off-line CRL Signing, CRL Signing.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">X509KeyUsageFlags</command:parameterValue>
            <dev:type>
                <maml:name>X509KeyUsageFlags</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
            <maml:name>SubjectAlternativeName</maml:name>
            <maml:description>
                <maml:para>Specifies alternative names for the subject. Unlike Subject field, this extension allows to specify more than one name. Also, multiple types of alternative names are supported.</maml:para>
                <maml:para>The following syntax is used to specify alternative names (curve braces denote alternative name value):
-- DNS name: &quot;dns:{dns_name}&quot;. Example: &quot;dns:www.example.com&quot;
-- RFC822 Name: &quot;email:{email_address}&quot;. Example: &quot;email:someone@example.com&quot;
-- IP address: &quot;ip:{ipv4_or_ipv6}&quot;. Example: &quot;ip:192.168.0.1&quot;, &quot;ip:fd00:0:0:4::41&quot;
-- User Principal Name (UPN): &quot;upn:{user_principal_name}&quot;. Example: &quot;upn:someone@example.com&quot;
-- Directory name: &quot;dn:{X.500_name}&quot;. Example: &quot;dn:CN=Someone, OU=OrgUnit, O=Example Inc., C=US&quot;
-- Object Identifier (OID): &quot;oid:{IANA_assigned_oid}&quot;. Example: &quot;oid:1.2.3.4.5.6.99999&quot;
-- URL: &quot;url:{URL}&quot;. Example: &quot;url:https://host.example.com/resource.html&quot;
-- GUID: &quot;guid:{GUID}&quot;. Example: &quot;guid:42105db6-313e-41be-96ae-52fc4633507f&quot;</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="true">String[]</command:parameterValue>
            <dev:type>
                <maml:name>String[]</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>IsCA</maml:name>
            <maml:description>
                <maml:para>Specifies whether the certificate is Certification Authority (IsCA = $true) or end entity (IsCA = $false) certificate. If this parameter is set to $false, PathLength parameter is ignored. Basic Constraints extension is marked as critical.</maml:para>
            </maml:description>
            <command:parameterValue required="false" variableLength="false">Boolean</command:parameterValue>
            <dev:type>
                <maml:name>Boolean</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>PathLength</maml:name>
            <maml:description>
                <maml:para>Specifies the number of additional CA certificates in the chain under this certificate. If this parameter is set to zero, then no additional (subordinate) CA certificates are permitted under this CA.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
            <dev:type>
                <maml:name>Int32</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>CustomExtension</maml:name>
            <maml:description>
                <maml:para>Specifies the custom extension to include to a self-signed certificate. This parameter must not be used to specify the extension that is supported via other parameters. In order to use this parameter, the extension must be formed in a collection of initialized System.Security.Cryptography.X509Certificates.X509Extension objects.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">X509ExtensionCollection</command:parameterValue>
            <dev:type>
                <maml:name>X509ExtensionCollection</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>SignatureAlgorithm</maml:name>
            <maml:description>
                <maml:para>Specifies signature algorithm used to sign the certificate. By default &#39;SHA1&#39; algorithm is used.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            <dev:type>
                <maml:name>String</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue>SHA1</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>FriendlyName</maml:name>
            <maml:description>
                <maml:para>Specifies friendly name for the certificate.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            <dev:type>
                <maml:name>String</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>StoreLocation</maml:name>
            <maml:description>
                <maml:para>Specifies the store location to store self-signed certificate. Possible values are: &#39;CurrentUser&#39; and &#39;LocalMachine&#39;. &#39;CurrentUser&#39; store is intended for user certificates and computer (as well as CA) certificates must be stored in the &#39;LocalMachine&#39; store.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">StoreLocation</command:parameterValue>
            <dev:type>
                <maml:name>StoreLocation</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>AllowSMIME</maml:name>
            <maml:description>
                <maml:para>Enables Secure/Multipurpose Internet Mail Extensions for the certificate.</maml:para>
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Exportable</maml:name>
            <maml:description>
                <maml:para>Marks private key as exportable. Smart card providers usually do not allow exportable keys.</maml:para>
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Path</maml:name>
            <maml:description>
                <maml:para>Specifies the path to a PFX file to export a self-signed certificate.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">FileInfo</command:parameterValue>
            <dev:type>
                <maml:name>FileInfo</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Password</maml:name>
            <maml:description>
                <maml:para>Specifies the password for PFX file.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">SecureString</command:parameterValue>
            <dev:type>
                <maml:name>SecureString</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>AlternateSignatureFormat</maml:name>
            <maml:description>
                <maml:para>Specifies if PKCS#1 v2.1 signature format is used. When specified, RSA signature will be set to RSASSA-PSS and ECDSA will be set to EcdsaSpecified.</maml:para>
                <maml:para>Note: this parameter may not be compatible with all cryptographic libraries.</maml:para>
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Issuer</maml:name>
            <maml:description>
                <maml:para>Specifies the signer certificate to sign generated certificate. When specified, generated certificate will be CA-signed, not self-signed. Generated certificate will include issuer name in Issuer field and includes AuthorityKeyIdenditier extension with issuer&#39;s public key SHA1 hash.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">X509Certificate2</command:parameterValue>
            <dev:type>
                <maml:name>X509Certificate2</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Runtime</maml:name>
            <maml:description>
                <maml:para>Specifies whether the certificate is generated in memory without installing it in Windows Certificate Store. By default, generated certificate is installed in Windows Certificate Store. Use this switch parameter to avoid interaction with Windows Certificate Store. Object returned by this command will be the only reference to the certificate and caller must interact with returned object only.</maml:para>
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
    </command:parameters>
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name>None.</maml:name>
                <maml:uri></maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>System.Security.Cryptography.X509Certificates.X509Certificate2</maml:name>
                <maml:uri>https://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.x509certificate2.aspx</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <command:terminatingErrors></command:terminatingErrors>
    <command:nonTerminatingErrors></command:nonTerminatingErrors>
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>Author: Vadims Podans
Blog: https://www.sysadmins.lv</maml:para>
        </maml:alert>
    </maml:alertSet>
    <command:examples>
        <command:example>
            <maml:title>-------------------------- Example 1 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; New-SelfsignedCertificateEx -Subject &quot;CN=Test Code Signing&quot; -EKU &quot;Code Signing&quot; -KeySpec &quot;Signature&quot; `
 -KeyUsage &quot;DigitalSignature&quot; -FriendlyName &quot;Test code signing&quot; -NotAfter $((Get-Date).AddYears(5))</dev:code>
            <dev:remarks>
                <maml:para>Creates a self-signed certificate intended for code signing and which is valid for 5 years. Certificate is saved in the Personal store of the current user account.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
        <command:example>
            <maml:title>-------------------------- Example 2 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; New-SelfsignedCertificateEx -Subject &quot;CN=www.domain.com&quot; -EKU &quot;Server Authentication&quot;, &quot;Client authentication&quot; `
 -KeyUsage &quot;KeyEcipherment, DigitalSignature&quot; -SAN &quot;dns:sub.domain.com&quot;,&quot;dns:www.domain.com&quot;,&quot;ip:192.168.1.1&quot; `
 -AllowSMIME -Path C:\test\ssl.pfx -Password (ConvertTo-SecureString &quot;P@ssw0rd&quot; -AsPlainText -Force) -Exportable `
 -StoreLocation &quot;LocalMachine&quot;</dev:code>
            <dev:remarks>
                <maml:para>Creates a self-signed SSL certificate with multiple subject names and saves it to a file. Additionally, the certificate is saved in the Personal store of the Local Machine store. Private key is marked as exportable, so you can export the certificate with a associated private key to a file at any time. The certificate includes SMIME capabilities.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
        <command:example>
            <maml:title>-------------------------- Example 3 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; New-SelfsignedCertificateEx -Subject &quot;CN=www.domain.com&quot; -EKU &quot;Server Authentication&quot;, &quot;Client authentication&quot; `
 -KeyUsage &quot;KeyEcipherment, DigitalSignature&quot; -SAN &quot;dns:sub.domain.com&quot;,&quot;dns:www.domain.com&quot;,&quot;ip:192.168.1.1&quot; `
 -StoreLocation &quot;LocalMachine&quot; -ProviderName &quot;Microsoft Software Key Storage Provider&quot; -AlgorithmName ecdsa_p256 `
 -KeyLength 256 -SignatureAlgorithm sha256</dev:code>
            <dev:remarks>
                <maml:para>Creates a self-signed SSL certificate with multiple subject names and saves it to a file. Additionally, the certificate is saved in the Personal store of the Local Machine store. Private key is marked as exportable, so you can export the certificate with a associated private key to a file at any time. Certificate uses Ellyptic Curve Cryptography (ECC) key algorithm ECDSA with 256-bit key. The certificate is signed by using SHA256ECDSA algorithm.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
        <command:example>
            <maml:title>-------------------------- Example 4 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; New-SelfsignedCertificateEx -Subject &quot;CN=Test Root CA, OU=Sandbox&quot; -IsCA $true -ProviderName `
 &quot;Microsoft Software Key Storage Provider&quot; -Exportable</dev:code>
            <dev:remarks>
                <maml:para>Creates self-signed root CA certificate.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>https://www.sysadmins.lv/projects/pspki/new-selfsignedcertificateex.aspx</maml:uri>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
<!--Generated by PS Cmdlet Help Editor-->
    <command:details>
        <command:name>Ping-ICertInterface</command:name>
        <maml:description>
            <maml:para>Tests management and enrollment interface availability of the specified CA server.</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para />
        </maml:copyright>
        <command:verb>Ping</command:verb>
        <command:noun>ICertInterface</command:noun>
        <dev:version />
    </command:details>
    <maml:description>
        <maml:para>Tests management and enrollment interface availability of the specified CA server. The command attempts to make calls to server&#39;s ICertAdmin and ICertRequest interfaces. ICertAdmin interface is used for CA server management purposes and may not available on client operating systems. ICertRequest is used during certificate enrollment process.</maml:para>
    </maml:description>
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Ping-ICertInterface</maml:name>
            <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0">
                <maml:name>CertificationAuthority</maml:name>
                <maml:description>
                    <maml:para>Specifies the Certification Authority object to check. This object can be retrieved by running Get-CertificationAuthority and Connect-CertificationAuthority commands.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="true">CertificateAuthority[]</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <command:parameters>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0">
            <maml:name>CertificationAuthority</maml:name>
            <maml:description>
                <maml:para>Specifies the Certification Authority object to check. This object can be retrieved by running Get-CertificationAuthority and Connect-CertificationAuthority commands.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="true">CertificateAuthority[]</command:parameterValue>
            <dev:type>
                <maml:name>CertificateAuthority[]</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
    </command:parameters>
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name>PKI.CertificateServices.CertificateAuthority[]</maml:name>
                <maml:uri>https://www.sysadmins.lv/library/pkix.net/html/T_PKI_CertificateServices_CertificateAuthority.htm</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>PSObject</maml:name>
                <maml:uri></maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <command:terminatingErrors></command:terminatingErrors>
    <command:nonTerminatingErrors></command:nonTerminatingErrors>
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>Author: Vadims Podans
Blog: https://www.sysadmins.lv</maml:para>
        </maml:alert>
    </maml:alertSet>
    <command:examples>
        <command:example>
            <maml:title>-------------------------- Example 1 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; Get-CertificationAuthority | Ping-ICertInterface</dev:code>
            <dev:remarks>
                <maml:para>This command retrieves all Enterprise CAs and checks ICertAdmin and ICertRequest interface availability.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>https://www.sysadmins.lv/projects/pspki/ping-icertinterface.aspx</maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-CertificationAuthority</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Connect-CertificationAuthority</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
<!--Generated by PS Cmdlet Help Editor-->
    <command:details>
        <command:name>Receive-Certificate</command:name>
        <maml:description>
            <maml:para>Receives issued certificate from a Certification Authority database.</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para />
        </maml:copyright>
        <command:verb>Receive</command:verb>
        <command:noun>Certificate</command:noun>
        <dev:version />
    </command:details>
    <maml:description>
        <maml:para>Receives issued certificate from a Certification Authority database. This command can be used to retrieve an issued pending certificate request after its approval.</maml:para>
        <maml:para>Although, the command saves received certificates in the specified folder, the command returns corresponding X509Certificate2 objects, so you can use these certificates for custom tasks.</maml:para>
    </maml:description>
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Receive-Certificate</maml:name>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
                <maml:name>RequestRow</maml:name>
                <maml:description>
                    <maml:para>Specifies a RequestRow object. This object can be retrieved by using either Get-IssuedRequest or Get-RevokedRequest. The request object already contains information about target CA server and request ID in the CA database.</maml:para>
                    <maml:para>Note: this command retrieves only issued certificates, therefore you should not use Get-PendingRequest or Get-FailedRequest commands.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Path</maml:name>
                <maml:description>
                    <maml:para>Specifies the path to a directory where to store the issued certificate. This parameter accepts only directory paths. If the directory doesn&#39;t exist, the command attempts to create it.</maml:para>
                    <maml:para>Files names are generated in the following form: RequestID_&lt;RequestID&gt;.cer</maml:para>
                    <maml:para>where &#39;&lt;RequestID&gt;&#39; is the request ID in the CA database.</maml:para>
                    <maml:para>Note: you should avoid RequestRow piping from different CA servers, because 2 CA servers may have matching RequestID values. Instead, use this command against each CA server separately.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">DirectoryInfo</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Force</maml:name>
                <maml:description>
                    <maml:para>Specifies whether to overwrite existing file or not.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
        <command:syntaxItem>
            <maml:name>Receive-Certificate</maml:name>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named">
                <maml:name>EnrollmentPolicyServer</maml:name>
                <maml:description>
                    <maml:para>Specifies the enrollment policy server endpoint from which to retrieve the certificate. Enrollment policy server endpoint object can be retrieved by running Get-EnrollmentPolicyServerClient command.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">PolicyServerClient</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Credential</maml:name>
                <maml:description>
                    <maml:para>Provides credentials to access enrollment policy server in the case when existing credentials are not saved in the credential vault. If enrollment policy server uses user name and password authentication, UserName field contains user name account name and Password field contains the password for the user account. If enrollment policy server uses certificate-based authentication, UserName field contains client authentication certificate&#39;s thumbprint and Password field must be empty (not set).</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Path</maml:name>
                <maml:description>
                    <maml:para>Specifies the path to a directory where to store the issued certificate. This parameter accepts only directory paths. If the directory doesn&#39;t exist, the command attempts to create it.</maml:para>
                    <maml:para>Files names are generated in the following form: RequestID_&lt;RequestID&gt;.cer</maml:para>
                    <maml:para>where &#39;&lt;RequestID&gt;&#39; is the request ID in the CA database.</maml:para>
                    <maml:para>Note: you should avoid RequestRow piping from different CA servers, because 2 CA servers may have matching RequestID values. Instead, use this command against each CA server separately.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">DirectoryInfo</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Force</maml:name>
                <maml:description>
                    <maml:para>Specifies whether to overwrite existing file or not.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <command:parameters>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
            <maml:name>RequestRow</maml:name>
            <maml:description>
                <maml:para>Specifies a RequestRow object. This object can be retrieved by using either Get-IssuedRequest or Get-RevokedRequest. The request object already contains information about target CA server and request ID in the CA database.</maml:para>
                <maml:para>Note: this command retrieves only issued certificates, therefore you should not use Get-PendingRequest or Get-FailedRequest commands.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
            <dev:type>
                <maml:name>Object</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Path</maml:name>
            <maml:description>
                <maml:para>Specifies the path to a directory where to store the issued certificate. This parameter accepts only directory paths. If the directory doesn&#39;t exist, the command attempts to create it.</maml:para>
                <maml:para>Files names are generated in the following form: RequestID_&lt;RequestID&gt;.cer</maml:para>
                <maml:para>where &#39;&lt;RequestID&gt;&#39; is the request ID in the CA database.</maml:para>
                <maml:para>Note: you should avoid RequestRow piping from different CA servers, because 2 CA servers may have matching RequestID values. Instead, use this command against each CA server separately.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">DirectoryInfo</command:parameterValue>
            <dev:type>
                <maml:name>DirectoryInfo</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Force</maml:name>
            <maml:description>
                <maml:para>Specifies whether to overwrite existing file or not.</maml:para>
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="named">
            <maml:name>EnrollmentPolicyServer</maml:name>
            <maml:description>
                <maml:para>Specifies the enrollment policy server endpoint from which to retrieve the certificate. Enrollment policy server endpoint object can be retrieved by running Get-EnrollmentPolicyServerClient command.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">PolicyServerClient</command:parameterValue>
            <dev:type>
                <maml:name>PolicyServerClient</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Credential</maml:name>
            <maml:description>
                <maml:para>Provides credentials to access enrollment policy server in the case when existing credentials are not saved in the credential vault. If enrollment policy server uses user name and password authentication, UserName field contains user name account name and Password field contains the password for the user account. If enrollment policy server uses certificate-based authentication, UserName field contains client authentication certificate&#39;s thumbprint and Password field must be empty (not set).</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue>
            <dev:type>
                <maml:name>PSCredential</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
    </command:parameters>
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name>SysadminsLV.PKI.Management.CertificateServices.Database.AdcsDbRow</maml:name>
                <maml:uri>https://www.sysadmins.lv/library/pkix.net/html/T_SysadminsLV_PKI_Management_CertificateServices_Database_AdcsDbRow.htm</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>System.Security.Cryptography.X509Certificates.X509Certificate2</maml:name>
                <maml:uri>https://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.x509certificate2.aspx</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <command:terminatingErrors></command:terminatingErrors>
    <command:nonTerminatingErrors></command:nonTerminatingErrors>
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>Author: Vadims Podans
Blog: https://www.sysadmins.lv</maml:para>
        </maml:alert>
    </maml:alertSet>
    <command:examples>
        <command:example>
            <maml:title>-------------------------- Example 1 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; Get-CertificationAuthority -Name MyCA | Get-IssuedRequest -Filter &quot;CertificateTemplate -eq WebServer&quot;, &quot;CommonName -eq www.company.com&quot; | Receive-Certificate -Path C:\certs -Force</dev:code>
            <dev:remarks>
                <maml:para>In this example, the commands retrieve all issued certificates based on &#39;WebServer&#39; template and issued to &#39;www.company.com&#39; name and save them in &#39;C:\certs&#39; folder.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>https://www.sysadmins.lv/projects/pspki/receive-certificate.aspx</maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-CertificationAuthority</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Connect-CertificationAuthority</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-IssuedRequest</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-RevokedRequest</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
<!--Generated by PS Cmdlet Help Editor-->
    <command:details>
        <command:name>Register-ObjectIdentifier</command:name>
        <maml:description>
            <maml:para>Registers new object identifier (OID) either on a local machine, or in Active Directory.</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para />
        </maml:copyright>
        <command:verb>Register</command:verb>
        <command:noun>ObjectIdentifier</command:noun>
        <dev:version />
    </command:details>
    <maml:description>
        <maml:para>Registers new object identifier (OID) either on a local machine, or in Active Directory. The command supports OID registration in the following OID groups: ApplicationPolicy (as known as Enhanced Key Usage) or IssuancePolicy (as known as Certificate Policy).</maml:para>
        <maml:para>It is possible to register the same OID within both OID groups on the local machine. In an Active Directory, multiple OID group registrations are not allowed. Therefore a particular OID value can be registered only within a single OID group.</maml:para>
        <maml:para>Before registering an OID, a company should acquire a delegated OID tree, which is called to OID arc. There are two OID registrars:
1) IANA — https://pen.iana.org/pen/PenApplication.page
2) ISO — https://www.iso.org</maml:para>
        <maml:para>In order the command to succeed the caller must be granted with:
1) local administrator permissions — if an OID is registered locally.
2) Enterprise Admins permissions, or delegated Write permissions on OID container in Active Directory, if &#39;UseActiveDirectory&#39; switch is enabled.</maml:para>
        <maml:para>OID container in Active Directory is located under: CN=Public Key Services, CN=Services, &lt;Configuration Naming Context&gt;.</maml:para>
    </maml:description>
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Register-ObjectIdentifier</maml:name>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>FriendlyName</maml:name>
                <maml:description>
                    <maml:para>Specifies a friendly name for the OID to be registered. The name should be up to few words long. For example, when you register a custom certificate policy, then friendly name can be &#39;Company&#39;s smart card policy&#39;.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1">
                <maml:name>Value</maml:name>
                <maml:description>
                    <maml:para>Specifies a value of the OID to be registered. The value must be a dot-numerical string, for example: 1.2.3.45.678.9.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="2">
                <maml:name>OidGroup</maml:name>
                <maml:description>
                    <maml:para>Specifies the OID group in which specified OID is registered. Possible values are: &#39;ApplicationPolicy&#39; or &#39;IssuancePolicy&#39;. It is possible to register particular OID in each OID group.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="3">
                <maml:name>CPSLocation</maml:name>
                <maml:description>
                    <maml:para>Specifies the location to a document called as Certificate Practice Statement (CPS) which describes the certificate usage policies and rules. This parameter is mandatory if &#39;OidGroup&#39; is set to &#39;IssuancePolicy&#39; and &#39;UseActiveDirectory&#39; switch is enabled. In all other cases, this parameter is ignored.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">Uri</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="4">
                <maml:name>LocaleId</maml:name>
                <maml:description>
                    <maml:para>Specifies the locale ID with which is associated specified OID friendly name. This parameter is used only for culture-variant friendly names and has effect only if &#39;UseActiveDirectory&#39; switch is enabled.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">CultureInfo</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>UseActiveDirectory</maml:name>
                <maml:description>
                    <maml:para>Indicates whether the specified OID information should be registered in Active Directory, instead of local OID database.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Force</maml:name>
                <maml:description>
                    <maml:para>By default, the script explicitly prompts you whether you want to register an OID with selected values. If you want to implement silent (quiet) installations — specify this parameter to suppress any prompts during OID registration.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>WhatIf</maml:name>
                <maml:description>
                    <maml:para>Describes what would happen if you executed the command without actually executing the command.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Confirm</maml:name>
                <maml:description>
                    <maml:para>Prompts you for confirmation before executing the command.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <command:parameters>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
            <maml:name>FriendlyName</maml:name>
            <maml:description>
                <maml:para>Specifies a friendly name for the OID to be registered. The name should be up to few words long. For example, when you register a custom certificate policy, then friendly name can be &#39;Company&#39;s smart card policy&#39;.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            <dev:type>
                <maml:name>String</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1">
            <maml:name>Value</maml:name>
            <maml:description>
                <maml:para>Specifies a value of the OID to be registered. The value must be a dot-numerical string, for example: 1.2.3.45.678.9.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            <dev:type>
                <maml:name>String</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="2">
            <maml:name>OidGroup</maml:name>
            <maml:description>
                <maml:para>Specifies the OID group in which specified OID is registered. Possible values are: &#39;ApplicationPolicy&#39; or &#39;IssuancePolicy&#39;. It is possible to register particular OID in each OID group.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            <dev:type>
                <maml:name>String</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="3">
            <maml:name>CPSLocation</maml:name>
            <maml:description>
                <maml:para>Specifies the location to a document called as Certificate Practice Statement (CPS) which describes the certificate usage policies and rules. This parameter is mandatory if &#39;OidGroup&#39; is set to &#39;IssuancePolicy&#39; and &#39;UseActiveDirectory&#39; switch is enabled. In all other cases, this parameter is ignored.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">Uri</command:parameterValue>
            <dev:type>
                <maml:name>Uri</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="4">
            <maml:name>LocaleId</maml:name>
            <maml:description>
                <maml:para>Specifies the locale ID with which is associated specified OID friendly name. This parameter is used only for culture-variant friendly names and has effect only if &#39;UseActiveDirectory&#39; switch is enabled.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">CultureInfo</command:parameterValue>
            <dev:type>
                <maml:name>CultureInfo</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>UseActiveDirectory</maml:name>
            <maml:description>
                <maml:para>Indicates whether the specified OID information should be registered in Active Directory, instead of local OID database.</maml:para>
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Force</maml:name>
            <maml:description>
                <maml:para>By default, the script explicitly prompts you whether you want to register an OID with selected values. If you want to implement silent (quiet) installations — specify this parameter to suppress any prompts during OID registration.</maml:para>
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>WhatIf</maml:name>
            <maml:description>
                <maml:para>Describes what would happen if you executed the command without actually executing the command.</maml:para>
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Confirm</maml:name>
            <maml:description>
                <maml:para>Prompts you for confirmation before executing the command.</maml:para>
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
    </command:parameters>
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name>System.String</maml:name>
                <maml:uri>https://msdn.microsoft.com/en-us/library/system.string.aspx</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>System.Security.Cryptography.Oid2</maml:name>
                <maml:uri>https://www.sysadmins.lv/library/pkix.net/html/T_System_Security_Cryptography_Oid2.htm</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <command:terminatingErrors></command:terminatingErrors>
    <command:nonTerminatingErrors></command:nonTerminatingErrors>
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>Author: Vadims Podans
Blog: https://www.sysadmins.lv</maml:para>
        </maml:alert>
    </maml:alertSet>
    <command:examples>
        <command:example>
            <maml:title>-------------------------- Example 1 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; Register-ObjectIdentifier -FriendlyName &quot;Remote Desktop Authentication&quot; -Value &quot;1.3.6.1.4.1.311.54.1.2&quot; -OidGroup ApplicationPolicy</dev:code>
            <dev:remarks>
                <maml:para>Registers an OID value &#39;1.3.6.1.4.1.311.54.1.2&#39; and display name &#39;Remote Desktop Authentication&#39; as application policy (enhanced key usage) in a local OID database.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
        <command:example>
            <maml:title>-------------------------- Example 2 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; Register-ObjectIdentifier -FriendlyName &quot;Remote Desktop Authentication&quot; -Value &quot;1.3.6.1.4.1.311.54.1.2&quot; -OidGroup ApplicationPolicy -UseActiveDirectory</dev:code>
            <dev:remarks>
                <maml:para>Registers an OID value &#39;1.3.6.1.4.1.311.54.1.2&#39; and display name &#39;Remote Desktop Authentication&#39; as application policy (enhanced key usage) in a Active Directory. After next group policy propagation, OID registration will be available for all members in the current Active Directory forest.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
        <command:example>
            <maml:title>-------------------------- Example 3 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; Register-ObjectIdentifier -FriendlyName &quot;Contoso Pharmaceuticals smart card policy&quot; -Value &quot;1.3.6.1.4.1.311.999.2&quot; -OidGroup IssuancePolicy -CPSLocation &quot;http://www.contoso.com/cps/documents/scpolicy.pdf&quot; -UseActiveDirectory</dev:code>
            <dev:remarks>
                <maml:para>Registers an OID value &#39;1.3.6.1.4.1.99999.1.2&#39; and display name &#39;Contoso Pharmaceuticals smart card policy&#39; as issuance policy (certificate policy) in a Active Directory. After next group policy propagation, OID registration will be available for all members in the current Active Directory forest.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>https://www.sysadmins.lv/projects/pspki/register-objectidentifier.aspx</maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-ObjectIdentifier</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-ObjectIdentifierEx</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Unregister-ObjectIdentifier</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
<!--Generated by PS Cmdlet Help Editor-->
    <command:details>
        <command:name>Show-Certificate</command:name>
        <maml:description>
            <maml:para>Displays an X509Certificate2 object in a familiar GUI window.</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para />
        </maml:copyright>
        <command:verb>Show</command:verb>
        <command:noun>Certificate</command:noun>
        <dev:version />
    </command:details>
    <maml:description>
        <maml:para>Displays an X509Certificate2 object in a familiar GUI window.</maml:para>
    </maml:description>
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Show-Certificate</maml:name>
            <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0">
                <maml:name>Certificate</maml:name>
                <maml:description>
                    <maml:para>Specifies an X509Certificate2 object to display.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="true">X509Certificate2[]</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Multipick</maml:name>
                <maml:description>
                    <maml:para>Specifies whether to show single or multi certificate selection UI. Otherwise you will be able to select only one certificate from a certificate list.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <command:parameters>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0">
            <maml:name>Certificate</maml:name>
            <maml:description>
                <maml:para>Specifies an X509Certificate2 object to display.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="true">X509Certificate2[]</command:parameterValue>
            <dev:type>
                <maml:name>X509Certificate2[]</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Multipick</maml:name>
            <maml:description>
                <maml:para>Specifies whether to show single or multi certificate selection UI. Otherwise you will be able to select only one certificate from a certificate list.</maml:para>
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
    </command:parameters>
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name>System.Security.Cryptography.X509Certificates.X509Certificate2[]</maml:name>
                <maml:uri>https://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.x509certificate2.aspx</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>None.</maml:name>
                <maml:uri></maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <command:terminatingErrors></command:terminatingErrors>
    <command:nonTerminatingErrors></command:nonTerminatingErrors>
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>Author: Vadims Podans
Blog: https://www.sysadmins.lv</maml:para>
        </maml:alert>
    </maml:alertSet>
    <command:examples>
        <command:example>
            <maml:title>-------------------------- Example 1 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; Get-ADKRACertificate | Show-Certificate -Multipick</dev:code>
            <dev:remarks>
                <maml:para>Displays certificate selection UI that allows you to select one or more certificates.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
        <command:example>
            <maml:title>-------------------------- Example 2 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; dir cert:\currentuser\my | Show-Certificate</dev:code>
            <dev:remarks>
                <maml:para>Displays certificate selection UI that allows you to select only one certificate.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>https://www.sysadmins.lv/projects/pspki/show-certificate.aspx</maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Show-CertificateRevocationList</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
<!--Generated by PS Cmdlet Help Editor-->
    <command:details>
        <command:name>Show-CertificateRevocationList</command:name>
        <maml:description>
            <maml:para>Displays an X509CRL2 object in a familiar GUI window.</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para />
        </maml:copyright>
        <command:verb>Show</command:verb>
        <command:noun>CertificateRevocationList</command:noun>
        <dev:version />
    </command:details>
    <maml:description>
        <maml:para>Displays an X509CRL2 object in a familiar GUI window.</maml:para>
    </maml:description>
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Show-CertificateRevocationList</maml:name>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0">
                <maml:name>CRL</maml:name>
                <maml:description>
                    <maml:para>Specifies a X509CRL2 object to display. An X509CRL2 object can be retrieved by using Get-CertificateRevocationList (or Get-CRL) cmdlet.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">X509CRL2</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <command:parameters>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0">
            <maml:name>CRL</maml:name>
            <maml:description>
                <maml:para>Specifies a X509CRL2 object to display. An X509CRL2 object can be retrieved by using Get-CertificateRevocationList (or Get-CRL) cmdlet.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">X509CRL2</command:parameterValue>
            <dev:type>
                <maml:name>X509CRL2</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
    </command:parameters>
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name>System.Security.Cryptography.X509Certificates.X509CRL2</maml:name>
                <maml:uri>https://www.sysadmins.lv/library/pkix.net/html/T_System_Security_Cryptography_X509Certificates_X509CRL2.htm</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>None.</maml:name>
                <maml:uri></maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <command:terminatingErrors></command:terminatingErrors>
    <command:nonTerminatingErrors></command:nonTerminatingErrors>
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>Author: Vadims Podans
Blog: https://www.sysadmins.lv</maml:para>
        </maml:alert>
    </maml:alertSet>
    <command:examples>
        <command:example>
            <maml:title>-------------------------- Example 1 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; Get-CRL -Path C:\file.crl | Show-CRL</dev:code>
            <dev:remarks>
                <maml:para>Displays a CRL object retrieved from the file in regular UI dialog.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>https://www.sysadmins.lv/projects/pspki/show-certificaterevocationlist.aspx</maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-CertificateRevocationList</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
<!--Generated by PS Cmdlet Help Editor-->
    <command:details>
        <command:name>Show-CertificateTrustList</command:name>
        <maml:description>
            <maml:para>Displays a Certificate Trust List (CTL) object in a familiar GUI window.</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para />
        </maml:copyright>
        <command:verb>Show</command:verb>
        <command:noun>CertificateTrustList</command:noun>
        <dev:version />
    </command:details>
    <maml:description>
        <maml:para>Displays a Certificate Trust List (CTL) object in a familiar GUI window.</maml:para>
    </maml:description>
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Show-CertificateTrustList</maml:name>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0">
                <maml:name>CTL</maml:name>
                <maml:description>
                    <maml:para>An X509CTL object to display. An X509CTL object can be retrieved by using Get-CertificateTrustList (or Get-CTL) command.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">X509CTL</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <command:parameters>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0">
            <maml:name>CTL</maml:name>
            <maml:description>
                <maml:para>An X509CTL object to display. An X509CTL object can be retrieved by using Get-CertificateTrustList (or Get-CTL) command.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">X509CTL</command:parameterValue>
            <dev:type>
                <maml:name>X509CTL</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
    </command:parameters>
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name>System.Security.Cryptography.X509Certificates.X509CTL</maml:name>
                <maml:uri>https://www.sysadmins.lv/library/pkix.net/html/T_System_Security_Cryptography_X509Certificates_X509CTL.htm</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>None.</maml:name>
                <maml:uri></maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <command:terminatingErrors></command:terminatingErrors>
    <command:nonTerminatingErrors></command:nonTerminatingErrors>
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>Author: Vadims Podans
Blog: https://www.sysadmins.lv</maml:para>
        </maml:alert>
    </maml:alertSet>
    <command:examples>
        <command:example>
            <maml:title>-------------------------- Example 1 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; Get-CTL -Path C:\authroot.stl | Show-CTL</dev:code>
            <dev:remarks>
                <maml:para>Displays a CTL object retrieved from the file in regular UI dialog.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>https://www.sysadmins.lv/projects/pspki/show-certificatetrustlist.aspx</maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-CertificateTrustList</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
<!--Generated by PS Cmdlet Help Editor-->
    <command:details>
        <command:name>Start-PsFCIV</command:name>
        <maml:description>
            <maml:para>Checks files integrity. This command is an enhanced version of Microsoft&#39;s File Checksum Integreity Verifier (FCIV).</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para />
        </maml:copyright>
        <command:verb>Start</command:verb>
        <command:noun>PsFCIV</command:noun>
        <dev:version />
    </command:details>
    <maml:description>
        <maml:para>This command calculates hashes for each file and stores this information in an XML database. Once the database is created, the command can check file integrity against database.</maml:para>
        <maml:para>This command supports both, PsFCIV and native FCIV database formats.</maml:para>
    </maml:description>
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Start-PsFCIV</maml:name>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>Path</maml:name>
                <maml:description>
                    <maml:para>Specifies the path to folder that contains files to be verified by the script.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">DirectoryInfo</command:parameterValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1">
                <maml:name>XML</maml:name>
                <maml:description>
                    <maml:para>Specifies the path to the XML database that stores information about files. If database does not exist, the script will create it. The path can be absolute or relative. If the path is relative, the database must be placed in the root folder of Path parameter.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="2">
                <maml:name>Include</maml:name>
                <maml:description>
                    <maml:para>Specifies the file to check. If specified, only this file will be checked during execution.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="3">
                <maml:name>Exclude</maml:name>
                <maml:description>
                    <maml:para>Speicifes the file or files to exclude from check. The XML database is excluded by default.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="true">String[]</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Action</maml:name>
                <maml:description>
                    <maml:para>Specifies the action for files with inconsistent length, modification date/time or hash mismatch. Possible values are &#39;Rename&#39; or &#39;Delete&#39;. If &#39;Rename&#39; is specified, the script will add .BAD extension to a file name.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>Show</maml:name>
                <maml:description>
                    <maml:para>Specifies file group that will be shown based on some criteria in graphic Out-GridView window. Possible values are: New, Ok, Bad, Missed, Unknown and Locked. You can combine these values. Additionally, selected file groups are stored in a global variable: $global:stats and can be used for afterward processing.</maml:para>
                    <maml:para>Note: this parameter has no effect when &#39;NoStatistic&#39; switch parameter is specified.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="true">String[]</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>HashAlgorithm</maml:name>
                <maml:description>
                    <maml:para>Specifies the hash algorithm to use. Can be one (or combination) of the following algorithms: MD5, SHA1, SHA256, SHA384, SHA512.</maml:para>
                    <maml:para>Algorithms can be combined only when you create a new XML file. In this case each file is hashed by using every algorithm specified. If no algorithm is specified, SHA1 is used as the default algorithm.</maml:para>
                    <maml:para>If more than one algorithm is specified during file checking, then only the first algorithm is used. If no algorithm is specified then the strongest algorithm is used for a particular file. For example, an entry in XML database contains hashes for SHA1 and SHA256, another entry has only MD5 hash. In this case SHA256 is used for the first file and MD5 for another file. The strongest algorithm is determined automatically.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="true">String[]</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Recurse</maml:name>
                <maml:description>
                    <maml:para>Specifies whether the script should check files in subfolders.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Rebuild</maml:name>
                <maml:description>
                    <maml:para>Recreates the XML database without checking files. If files listed in the XML are not present in the target location this switch will remove these entries from database. And if there are new files this switch will add entries to the database for these files.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Quiet</maml:name>
                <maml:description>
                    <maml:para>When script finishes the job, it exitss the PowerShell session with a numeric exit code. The exit codes are described in Outputs section.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>NoStatistic</maml:name>
                <maml:description>
                    <maml:para>Instrusts the command to not store detailed statistics per each file. This switch improves script performance.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
        <command:syntaxItem>
            <maml:name>Start-PsFCIV</maml:name>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>Path</maml:name>
                <maml:description>
                    <maml:para>Specifies the path to folder that contains files to be verified by the script.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">DirectoryInfo</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="2">
                <maml:name>Include</maml:name>
                <maml:description>
                    <maml:para>Specifies the file to check. If specified, only this file will be checked during execution.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="3">
                <maml:name>Exclude</maml:name>
                <maml:description>
                    <maml:para>Speicifes the file or files to exclude from check. The XML database is excluded by default.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="true">String[]</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Action</maml:name>
                <maml:description>
                    <maml:para>Specifies the action for files with inconsistent length, modification date/time or hash mismatch. Possible values are &#39;Rename&#39; or &#39;Delete&#39;. If &#39;Rename&#39; is specified, the script will add .BAD extension to a file name.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>Show</maml:name>
                <maml:description>
                    <maml:para>Specifies file group that will be shown based on some criteria in graphic Out-GridView window. Possible values are: New, Ok, Bad, Missed, Unknown and Locked. You can combine these values. Additionally, selected file groups are stored in a global variable: $global:stats and can be used for afterward processing.</maml:para>
                    <maml:para>Note: this parameter has no effect when &#39;NoStatistic&#39; switch parameter is specified.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="true">String[]</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>HashAlgorithm</maml:name>
                <maml:description>
                    <maml:para>Specifies the hash algorithm to use. Can be one (or combination) of the following algorithms: MD5, SHA1, SHA256, SHA384, SHA512.</maml:para>
                    <maml:para>Algorithms can be combined only when you create a new XML file. In this case each file is hashed by using every algorithm specified. If no algorithm is specified, SHA1 is used as the default algorithm.</maml:para>
                    <maml:para>If more than one algorithm is specified during file checking, then only the first algorithm is used. If no algorithm is specified then the strongest algorithm is used for a particular file. For example, an entry in XML database contains hashes for SHA1 and SHA256, another entry has only MD5 hash. In this case SHA256 is used for the first file and MD5 for another file. The strongest algorithm is determined automatically.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="true">String[]</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Recurse</maml:name>
                <maml:description>
                    <maml:para>Specifies whether the script should check files in subfolders.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Rebuild</maml:name>
                <maml:description>
                    <maml:para>Recreates the XML database without checking files. If files listed in the XML are not present in the target location this switch will remove these entries from database. And if there are new files this switch will add entries to the database for these files.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Quiet</maml:name>
                <maml:description>
                    <maml:para>When script finishes the job, it exitss the PowerShell session with a numeric exit code. The exit codes are described in Outputs section.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>NoStatistic</maml:name>
                <maml:description>
                    <maml:para>Instrusts the command to not store detailed statistics per each file. This switch improves script performance.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Online</maml:name>
                <maml:description>
                    <maml:para>Performs file hash calculation and passes output to the pipeline. When this switch is set to True, XML database is not used. This switch is useful when you just need to calculate hashes over a set of files.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <command:parameters>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
            <maml:name>Path</maml:name>
            <maml:description>
                <maml:para>Specifies the path to folder that contains files to be verified by the script.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">DirectoryInfo</command:parameterValue>
            <dev:type>
                <maml:name>DirectoryInfo</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1">
            <maml:name>XML</maml:name>
            <maml:description>
                <maml:para>Specifies the path to the XML database that stores information about files. If database does not exist, the script will create it. The path can be absolute or relative. If the path is relative, the database must be placed in the root folder of Path parameter.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            <dev:type>
                <maml:name>String</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="2">
            <maml:name>Include</maml:name>
            <maml:description>
                <maml:para>Specifies the file to check. If specified, only this file will be checked during execution.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            <dev:type>
                <maml:name>String</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="3">
            <maml:name>Exclude</maml:name>
            <maml:description>
                <maml:para>Speicifes the file or files to exclude from check. The XML database is excluded by default.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="true">String[]</command:parameterValue>
            <dev:type>
                <maml:name>String[]</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Action</maml:name>
            <maml:description>
                <maml:para>Specifies the action for files with inconsistent length, modification date/time or hash mismatch. Possible values are &#39;Rename&#39; or &#39;Delete&#39;. If &#39;Rename&#39; is specified, the script will add .BAD extension to a file name.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            <dev:type>
                <maml:name>String</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
            <maml:name>Show</maml:name>
            <maml:description>
                <maml:para>Specifies file group that will be shown based on some criteria in graphic Out-GridView window. Possible values are: New, Ok, Bad, Missed, Unknown and Locked. You can combine these values. Additionally, selected file groups are stored in a global variable: $global:stats and can be used for afterward processing.</maml:para>
                <maml:para>Note: this parameter has no effect when &#39;NoStatistic&#39; switch parameter is specified.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="true">String[]</command:parameterValue>
            <dev:type>
                <maml:name>String[]</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
            <maml:name>HashAlgorithm</maml:name>
            <maml:description>
                <maml:para>Specifies the hash algorithm to use. Can be one (or combination) of the following algorithms: MD5, SHA1, SHA256, SHA384, SHA512.</maml:para>
                <maml:para>Algorithms can be combined only when you create a new XML file. In this case each file is hashed by using every algorithm specified. If no algorithm is specified, SHA1 is used as the default algorithm.</maml:para>
                <maml:para>If more than one algorithm is specified during file checking, then only the first algorithm is used. If no algorithm is specified then the strongest algorithm is used for a particular file. For example, an entry in XML database contains hashes for SHA1 and SHA256, another entry has only MD5 hash. In this case SHA256 is used for the first file and MD5 for another file. The strongest algorithm is determined automatically.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="true">String[]</command:parameterValue>
            <dev:type>
                <maml:name>String[]</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Recurse</maml:name>
            <maml:description>
                <maml:para>Specifies whether the script should check files in subfolders.</maml:para>
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Rebuild</maml:name>
            <maml:description>
                <maml:para>Recreates the XML database without checking files. If files listed in the XML are not present in the target location this switch will remove these entries from database. And if there are new files this switch will add entries to the database for these files.</maml:para>
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Quiet</maml:name>
            <maml:description>
                <maml:para>When script finishes the job, it exitss the PowerShell session with a numeric exit code. The exit codes are described in Outputs section.</maml:para>
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>NoStatistic</maml:name>
            <maml:description>
                <maml:para>Instrusts the command to not store detailed statistics per each file. This switch improves script performance.</maml:para>
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Online</maml:name>
            <maml:description>
                <maml:para>Performs file hash calculation and passes output to the pipeline. When this switch is set to True, XML database is not used. This switch is useful when you just need to calculate hashes over a set of files.</maml:para>
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
    </command:parameters>
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name>System.String</maml:name>
                <maml:uri>https://msdn.microsoft.com/en-us/library/system.string.aspx</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>PSObject</maml:name>
                <maml:uri></maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <command:terminatingErrors></command:terminatingErrors>
    <command:nonTerminatingErrors></command:nonTerminatingErrors>
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>Author: Vadims Podans
Blog: https://www.sysadmins.lv</maml:para>
        </maml:alert>
    </maml:alertSet>
    <command:examples>
        <command:example>
            <maml:title>-------------------------- Example 1 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; Start-PsFCIV -Path C:\tmp -XML DB.XML</dev:code>
            <dev:remarks>
                <maml:para>Checks all files in C:\tmp folder by using SHA1 hash algorithm and compares them with information stored in the DB.XML database.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
        <command:example>
            <maml:title>-------------------------- Example 2 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; Start-PsFCIV -Path C:\tmp -XML DB.XML -HashAlgorithm SHA1, SHA256, SHA512 -Recurse</dev:code>
            <dev:remarks>
                <maml:para>Checks all files in C:\tmp folder and subfolders by using SHA1, SHA256 and SHA512 algorithms.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
        <command:example>
            <maml:title>-------------------------- Example 3 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; Start-PsFCIV -Path C:\tmp -Include *.txt -XML DB.XML -HashAlgorithm SHA512</dev:code>
            <dev:remarks>
                <maml:para>Checks all TXT files in C:\tmp folder by using SHA512 hash algorithm.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
        <command:example>
            <maml:title>-------------------------- Example 4 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; Start-PsFCIV -Path C:\tmp -XML DB.XML -Rebuild</dev:code>
            <dev:remarks>
                <maml:para>Rebuilds DB file, by removing all unused entries (when an entry exists, but the file does not exist) from the XML file and add all new files that has no records in the XML file using SHA1 algorithm. Existing files are not checked for integrity consistence.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
        <command:example>
            <maml:title>-------------------------- Example 5 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; Start-PsFCIV -Path C:\tmp -XML DB.XML -HashAlgorithm SHA256 -Action Rename</dev:code>
            <dev:remarks>
                <maml:para>Checks all files in C:\tmp folder using SHA256 algorithm and renames files with Length, LastWriteTime or hash mismatch by adding .BAD extension to them. The &#39;Delete&#39; action can be appended to delete all bad files.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
        <command:example>
            <maml:title>-------------------------- Example 6 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; Start-PsFCIV -Path C:\tmp -XML DB.XML -Show Ok, Bad</dev:code>
            <dev:remarks>
                <maml:para>Checks all files in C:\tmp folder using SHA1 algorithm and shows filenames that match Ok or Bad category.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>https://www.sysadmins.lv/projects/pspki/start-psfciv.aspx</maml:uri>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
<!--Generated by PS Cmdlet Help Editor-->
    <command:details>
        <command:name>Submit-CertificateRequest</command:name>
        <maml:description>
            <maml:para>Submits certificate request to a Certification Authority.</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para />
        </maml:copyright>
        <command:verb>Submit</command:verb>
        <command:noun>CertificateRequest</command:noun>
        <dev:version />
    </command:details>
    <maml:description>
        <maml:para>Submits certificate request to a Certification Authority. The commands returns an object that indicates the status of the submission. If the certificate is issued immediately, issued certificate is included in the returned object.</maml:para>
    </maml:description>
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Submit-CertificateRequest</maml:name>
            <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="true (ByValue)" position="0">
                <maml:name>Path</maml:name>
                <maml:description>
                    <maml:para>Specifies the path to a request file.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="true">FileInfo[]</command:parameterValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>CertificationAuthority</maml:name>
                <maml:description>
                    <maml:para>Specifies a Certification Authority object to which the request is submitted. CA object can be retrieved by running either Get-CertificationAuthority or Connect-CertificationAuthority commands.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">CertificateAuthority</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Credential</maml:name>
                <maml:description>
                    <maml:para>Provides credentials to access enrollment policy server in the case when existing credentials are not saved in the credential vault. If enrollment policy server uses user name and password authentication, UserName field contains user name account name and Password field contains the password for the user account. If enrollment policy server uses certificate-based authentication, UserName field contains client authentication certificate&#39;s thumbprint and Password field must be empty (not set).</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>Attribute</maml:name>
                <maml:description>
                    <maml:para>Specifies optional attributes which are passed along with the request and are used by Certification Authority to construct the certificate. The following syntax is used:</maml:para>
                    <maml:para>&lt;AttributeName&gt;:&lt;AttributeValue&gt;</maml:para>
                    <maml:para>where &lt;AttributeName&gt; is an attribute name and &lt;AttributeValue&gt; is the value of the attribute. This command accepts multiple attributes.</maml:para>
                    <maml:para>For example, Enterprise CAs require certificate template information in the request, however, not all applications adds this information to the request (for example, Internet Information Service console, Exchange Management Console, non-Microsoft tools and other). In this case you can pass certificate template as an attribute:</maml:para>
                    <maml:para>CertificateTemplate:WebServer</maml:para>
                    <maml:para>where &#39;CertificateTemplate&#39; is attribute name and &#39;WebServer&#39; is attribute value (in a given example it is certificate template common name).</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="true">String[]</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
        <command:syntaxItem>
            <maml:name>Submit-CertificateRequest</maml:name>
            <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="true (ByValue)" position="0">
                <maml:name>Path</maml:name>
                <maml:description>
                    <maml:para>Specifies the path to a request file.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="true">FileInfo[]</command:parameterValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>EnrollmentPolicyServer</maml:name>
                <maml:description>
                    <maml:para>Specifies the enrollment policy server endpoint to which the request will be sent. Enrollment policy server endpoint object can be retrieved by running Get-EnrollmentPolicyServerClient command.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">PolicyServerClient</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Credential</maml:name>
                <maml:description>
                    <maml:para>Provides credentials to access enrollment policy server in the case when existing credentials are not saved in the credential vault. If enrollment policy server uses user name and password authentication, UserName field contains user name account name and Password field contains the password for the user account. If enrollment policy server uses certificate-based authentication, UserName field contains client authentication certificate&#39;s thumbprint and Password field must be empty (not set).</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>Attribute</maml:name>
                <maml:description>
                    <maml:para>Specifies optional attributes which are passed along with the request and are used by Certification Authority to construct the certificate. The following syntax is used:</maml:para>
                    <maml:para>&lt;AttributeName&gt;:&lt;AttributeValue&gt;</maml:para>
                    <maml:para>where &lt;AttributeName&gt; is an attribute name and &lt;AttributeValue&gt; is the value of the attribute. This command accepts multiple attributes.</maml:para>
                    <maml:para>For example, Enterprise CAs require certificate template information in the request, however, not all applications adds this information to the request (for example, Internet Information Service console, Exchange Management Console, non-Microsoft tools and other). In this case you can pass certificate template as an attribute:</maml:para>
                    <maml:para>CertificateTemplate:WebServer</maml:para>
                    <maml:para>where &#39;CertificateTemplate&#39; is attribute name and &#39;WebServer&#39; is attribute value (in a given example it is certificate template common name).</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="true">String[]</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <command:parameters>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="true (ByValue)" position="0">
            <maml:name>Path</maml:name>
            <maml:description>
                <maml:para>Specifies the path to a request file.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="true">FileInfo[]</command:parameterValue>
            <dev:type>
                <maml:name>FileInfo[]</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>CertificationAuthority</maml:name>
            <maml:description>
                <maml:para>Specifies a Certification Authority object to which the request is submitted. CA object can be retrieved by running either Get-CertificationAuthority or Connect-CertificationAuthority commands.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">CertificateAuthority</command:parameterValue>
            <dev:type>
                <maml:name>CertificateAuthority</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Credential</maml:name>
            <maml:description>
                <maml:para>Provides credentials to access enrollment policy server in the case when existing credentials are not saved in the credential vault. If enrollment policy server uses user name and password authentication, UserName field contains user name account name and Password field contains the password for the user account. If enrollment policy server uses certificate-based authentication, UserName field contains client authentication certificate&#39;s thumbprint and Password field must be empty (not set).</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue>
            <dev:type>
                <maml:name>PSCredential</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
            <maml:name>Attribute</maml:name>
            <maml:description>
                <maml:para>Specifies optional attributes which are passed along with the request and are used by Certification Authority to construct the certificate. The following syntax is used:</maml:para>
                <maml:para>&lt;AttributeName&gt;:&lt;AttributeValue&gt;</maml:para>
                <maml:para>where &lt;AttributeName&gt; is an attribute name and &lt;AttributeValue&gt; is the value of the attribute. This command accepts multiple attributes.</maml:para>
                <maml:para>For example, Enterprise CAs require certificate template information in the request, however, not all applications adds this information to the request (for example, Internet Information Service console, Exchange Management Console, non-Microsoft tools and other). In this case you can pass certificate template as an attribute:</maml:para>
                <maml:para>CertificateTemplate:WebServer</maml:para>
                <maml:para>where &#39;CertificateTemplate&#39; is attribute name and &#39;WebServer&#39; is attribute value (in a given example it is certificate template common name).</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="true">String[]</command:parameterValue>
            <dev:type>
                <maml:name>String[]</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>EnrollmentPolicyServer</maml:name>
            <maml:description>
                <maml:para>Specifies the enrollment policy server endpoint to which the request will be sent. Enrollment policy server endpoint object can be retrieved by running Get-EnrollmentPolicyServerClient command.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">PolicyServerClient</command:parameterValue>
            <dev:type>
                <maml:name>PolicyServerClient</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
    </command:parameters>
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name>System.IO.FileInfo[]</maml:name>
                <maml:uri>https://msdn.microsoft.com/en-us/library/system.io.fileinfo.aspx</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>PKI.Enrollment.CertRequestStatus</maml:name>
                <maml:uri>https://www.sysadmins.lv/library/pkix.net/html/T_PKI_Enrollment_CertRequestStatus.htm</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <command:terminatingErrors></command:terminatingErrors>
    <command:nonTerminatingErrors></command:nonTerminatingErrors>
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>Author: Vadims Podans
Blog: https://www.sysadmins.lv</maml:para>
        </maml:alert>
    </maml:alertSet>
    <command:examples>
    </command:examples>
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>https://www.sysadmins.lv/projects/pspki/submit-certificaterequest.aspx</maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Receive-Certificate</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
<!--Generated by PS Cmdlet Help Editor-->
    <command:details>
        <command:name>Test-WebServerSSL</command:name>
        <maml:description>
            <maml:para>Tests remote web server SSL certificate.</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para />
        </maml:copyright>
        <command:verb>Test</command:verb>
        <command:noun>WebServerSSL</command:noun>
        <dev:version />
    </command:details>
    <maml:description>
        <maml:para>Tests remote web server SSL certificate. The command connects to the specified web server address, establishes SSL tunnel, retrieves and examines returned certificate.</maml:para>
    </maml:description>
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Test-WebServerSSL</maml:name>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="0">
                <maml:name>URL</maml:name>
                <maml:description>
                    <maml:para>Specifies a web server address to connect. The address MUST NOT contain a protocol prefix (https://). Only host names are allowed.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="1">
                <maml:name>Port</maml:name>
                <maml:description>
                    <maml:para>Specifies the SSL port to connect. by default, port 443 is used.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="2">
                <maml:name>Proxy</maml:name>
                <maml:description>
                    <maml:para>Specifies a proxy address (including protocol prefix, host name and connection port) if necessary.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">WebProxy</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="3">
                <maml:name>Timeout</maml:name>
                <maml:description>
                    <maml:para>Specifies the connection timeout in milliseconds. By default 15 seconds (15000 milliseconds) timeout is used.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>UseUserContext</maml:name>
                <maml:description>
                    <maml:para>Specifies whether to build chain against user store. By default, certificate chain MUST be ended by a Root CA certificate that is stored in the Trusted Root CAs container in Local Machine store.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <command:parameters>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="0">
            <maml:name>URL</maml:name>
            <maml:description>
                <maml:para>Specifies a web server address to connect. The address MUST NOT contain a protocol prefix (https://). Only host names are allowed.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            <dev:type>
                <maml:name>String</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="1">
            <maml:name>Port</maml:name>
            <maml:description>
                <maml:para>Specifies the SSL port to connect. by default, port 443 is used.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
            <dev:type>
                <maml:name>Int32</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue>443</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="2">
            <maml:name>Proxy</maml:name>
            <maml:description>
                <maml:para>Specifies a proxy address (including protocol prefix, host name and connection port) if necessary.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">WebProxy</command:parameterValue>
            <dev:type>
                <maml:name>WebProxy</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="3">
            <maml:name>Timeout</maml:name>
            <maml:description>
                <maml:para>Specifies the connection timeout in milliseconds. By default 15 seconds (15000 milliseconds) timeout is used.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
            <dev:type>
                <maml:name>Int32</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue>15000</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>UseUserContext</maml:name>
            <maml:description>
                <maml:para>Specifies whether to build chain against user store. By default, certificate chain MUST be ended by a Root CA certificate that is stored in the Trusted Root CAs container in Local Machine store.</maml:para>
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
    </command:parameters>
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name>None.</maml:name>
                <maml:uri></maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>PKI.Web.WebSSL</maml:name>
                <maml:uri>https://www.sysadmins.lv/library/pkix.net/html/T_PKI_Web_WebSSL.htm</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <command:terminatingErrors></command:terminatingErrors>
    <command:nonTerminatingErrors></command:nonTerminatingErrors>
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>Author: Vadims Podans
Blog: https://www.sysadmins.lv</maml:para>
        </maml:alert>
    </maml:alertSet>
    <command:examples>
        <command:example>
            <maml:title>-------------------------- Example 1 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; Test-WebServerSSL -URL login.live.com</dev:code>
            <dev:remarks>
                <maml:para>The command initiates the SSL connection to &#39;https://login.live.com&#39; on port 443 and examines SSL certificate. Actual SSL certificate is added to the returned object.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
        <command:example>
            <maml:title>-------------------------- Example 2 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; Test-WebServerSSL -url paypal.com -Proxy &quot;http://proxy.company.com:8080&quot; -Timeout 20000</dev:code>
            <dev:remarks>
                <maml:para>This command initiates a SSL connection to &#39;https://paypal.com&#39; on port 443 by using spefied proxy address and examines SSL certificate. The timeout for the connection is 20 seconds (20000 milliseconds). Actual SSL certificate is added to the returned object.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>https://www.sysadmins.lv/projects/pspki/Test-WebServerSSL.aspx</maml:uri>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
<!--Generated by PS Cmdlet Help Editor-->
    <command:details>
        <command:name>Unregister-ObjectIdentifier</command:name>
        <maml:description>
            <maml:para>Unregisters object identifier (OID) information from local computer, Active Directory or both sources.</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para />
        </maml:copyright>
        <command:verb>Unregister</command:verb>
        <command:noun>ObjectIdentifier</command:noun>
        <dev:version />
    </command:details>
    <maml:description>
        <maml:para>Unregisters object identifier (OID) information from local computer, Active Directory or both sources. Additionally, the command accepts pipeline input from the following commands: Get-ObjectIdentifier and Get-ObjectIdentifierEx.</maml:para>
        <maml:para>In order the command to succeed the caller must be granted with:
1) local administrator permissions — if an OID is registered locally.
2) Enterprise Admins permissions, or delegated Write permissions on OID container in Active Directory, if &#39;UseActiveDirectory&#39; switch is enabled.</maml:para>
        <maml:para>OID container in Active Directory is located under: CN=Public Key Services, CN=Services, &lt;Configuration Naming Context&gt;.</maml:para>
    </maml:description>
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Unregister-ObjectIdentifier</maml:name>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0">
                <maml:name>Value</maml:name>
                <maml:description>
                    <maml:para>Specifies an OID friendly name, value or System.Security.Cryptography.Oid2 object that contains information about OID to unregister. Only specified instance is unregistered. By default, the command attempts to unregister specified OID information from local machine only. In order to unregister OID information in Active Directory, use &#39;UseActiveDirectory&#39; switch.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">Oid2</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="true" pipelineInput="false" position="named">
                <maml:name>UseActiveDirectory</maml:name>
                <maml:description>
                    <maml:para>Specifies whether to perform registration removal from Active Directory too.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Force</maml:name>
                <maml:description>
                    <maml:para>By default, the script explicitly prompts you whether you want to remove OID registration with selected values. If you want to implement silent (quiet) installations — specify this parameter to suppress any prompts during OID registration removal.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>WhatIf</maml:name>
                <maml:description>
                    <maml:para>Describes what would happen if you executed the command without actually executing the command.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Confirm</maml:name>
                <maml:description>
                    <maml:para>Prompts you for confirmation before executing the command.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <command:parameters>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0">
            <maml:name>Value</maml:name>
            <maml:description>
                <maml:para>Specifies an OID friendly name, value or System.Security.Cryptography.Oid2 object that contains information about OID to unregister. Only specified instance is unregistered. By default, the command attempts to unregister specified OID information from local machine only. In order to unregister OID information in Active Directory, use &#39;UseActiveDirectory&#39; switch.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">Oid2</command:parameterValue>
            <dev:type>
                <maml:name>Oid2</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="true" pipelineInput="false" position="named">
            <maml:name>UseActiveDirectory</maml:name>
            <maml:description>
                <maml:para>Specifies whether to perform registration removal from Active Directory too.</maml:para>
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Force</maml:name>
            <maml:description>
                <maml:para>By default, the script explicitly prompts you whether you want to remove OID registration with selected values. If you want to implement silent (quiet) installations — specify this parameter to suppress any prompts during OID registration removal.</maml:para>
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>WhatIf</maml:name>
            <maml:description>
                <maml:para>Describes what would happen if you executed the command without actually executing the command.</maml:para>
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Confirm</maml:name>
            <maml:description>
                <maml:para>Prompts you for confirmation before executing the command.</maml:para>
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
    </command:parameters>
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name>System.Security.Cryptography.Oid2</maml:name>
                <maml:uri>https://www.sysadmins.lv/library/pkix.net/html/T_System_Security_Cryptography_Oid2.htm</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>None.</maml:name>
                <maml:uri></maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <command:terminatingErrors></command:terminatingErrors>
    <command:nonTerminatingErrors></command:nonTerminatingErrors>
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>Author: Vadims Podans
Blog: https://www.sysadmins.lv</maml:para>
        </maml:alert>
    </maml:alertSet>
    <command:examples>
        <command:example>
            <maml:title>-------------------------- Example 1 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; Unregister-ObjectIdentifier -Value &quot;Remote Desktop Authentication&quot; -UseActiveDirectory</dev:code>
            <dev:remarks>
                <maml:para>Unregisters a custom OID that was previously registered in Active Directory.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
        <command:example>
            <maml:title>-------------------------- Example 2 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; Get-ObjectIdentifierEx -Value &quot;Company smart card policy&quot; -UseActiveDirectory | Unregister-ObjectIdentifier</dev:code>
            <dev:remarks>
                <maml:para>Gets information about OID registration with friendly name &#39;Company smart card policy&#39; and deletes all OID registrations from local system and Active Directory.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>https://www.sysadmins.lv/projects/pspki/unregister-objectidentifier.aspx</maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-ObjectIdentifier</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-ObjectIdentifierEx</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Register-ObjectIdentifier</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
<!--Generated by PS Cmdlet Help Editor-->
    <command:details>
        <command:name>Get-CertificateContextProperty</command:name>
        <maml:description>
            <maml:para>Gets the certificate context property from Windows Certificate Store.</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para />
        </maml:copyright>
        <command:verb>Get</command:verb>
        <command:noun>CertificateContextProperty</command:noun>
        <dev:version />
    </command:details>
    <maml:description>
        <maml:para>Gets the certificate context property from Windows Certificate Store or serialized store (SST). When the certificate is installed in the certificate store it is possible to attach some certificate properties which are not the part of the certificate. There are number of certificate context properties, like Friendly Name, Description, Private Key Information, enrollment information, Extended Validation (EV) policies, etc. The full list of supported properties is defined in X509CertificatePropertyType enumeration.
</maml:para>
    </maml:description>
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Get-CertificateContextProperty</maml:name>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
                <maml:name>Certificate</maml:name>
                <maml:description>
                    <maml:para>Specifies the certificate from Windows Certificate Store or serialized (SST) store.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">X509Certificate2</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>PropertyName</maml:name>
                <maml:description>
                    <maml:para>Specifies the property name to return. By default, all attached properties are returned. This parameter is not compatible with &#39;-NameList&#39; parameter.</maml:para>
                    <maml:para>Note: If specific property is requested and it is not available for the specified certificate, an exception will be thrown.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">X509CertificatePropertyType</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
        <command:syntaxItem>
            <maml:name>Get-CertificateContextProperty</maml:name>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
                <maml:name>Certificate</maml:name>
                <maml:description>
                    <maml:para>Specifies the certificate from Windows Certificate Store or serialized (SST) store.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">X509Certificate2</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>NameList</maml:name>
                <maml:description>
                    <maml:para>Retrives the list of attached properties as a collection of property name. You can use this information to retrieve existing certificate property. This parameter is not compatible with &#39;-PropertyName&#39; parameter.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <command:parameters>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
            <maml:name>Certificate</maml:name>
            <maml:description>
                <maml:para>Specifies the certificate from Windows Certificate Store or serialized (SST) store.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">X509Certificate2</command:parameterValue>
            <dev:type>
                <maml:name>X509Certificate2</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>PropertyName</maml:name>
            <maml:description>
                <maml:para>Specifies the property name to return. By default, all attached properties are returned. This parameter is not compatible with &#39;-NameList&#39; parameter.</maml:para>
                <maml:para>Note: If specific property is requested and it is not available for the specified certificate, an exception will be thrown.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">X509CertificatePropertyType</command:parameterValue>
            <dev:type>
                <maml:name>X509CertificatePropertyType</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>NameList</maml:name>
            <maml:description>
                <maml:para>Retrives the list of attached properties as a collection of property name. You can use this information to retrieve existing certificate property. This parameter is not compatible with &#39;-PropertyName&#39; parameter.</maml:para>
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
    </command:parameters>
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name>System.Security.Cryptography.X509Certificates.X509Certificate2</maml:name>
                <maml:uri>https://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.x509certificate2.aspx</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>System.Security.Cryptography.X509Certificates.X509CertificateContextProperty</maml:name>
                <maml:uri>https://www.sysadmins.lv/library/pkix.net/html/T_System_Security_Cryptography_X509Certificates_X509CertificateContextProperty.htm</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
                <maml:para>Single certificate context property</maml:para>
            </maml:description>
        </command:returnValue>
        <command:returnValue>
            <dev:type>
                <maml:name>
System.Security.Cryptography.X509Certificates.X509CertificateContextPropertyCollection</maml:name>
                <maml:uri>
https://www.sysadmins.lv/library/pkix.net/html/T_System_Security_Cryptography_X509Certificates_X509CertificateContextPropertyCollection.htm</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
                <maml:para>
A collection of all attached context properties</maml:para>
            </maml:description>
        </command:returnValue>
        <command:returnValue>
            <dev:type>
                <maml:name>
System.Security.Cryptography.X509Certificates.X509CertificatePropertyType</maml:name>
                <maml:uri>
https://www.sysadmins.lv/library/pkix.net/html/T_System_Security_Cryptography_X509Certificates_X509CertificatePropertyType.htm</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
                <maml:para>
A collection of X509CertificatePropertyType enum values</maml:para>
            </maml:description>
        </command:returnValue>
        <command:returnValue>
            <dev:type>
                <maml:name></maml:name>
                <maml:uri />
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <command:terminatingErrors></command:terminatingErrors>
    <command:nonTerminatingErrors></command:nonTerminatingErrors>
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>Author: Vadims Podans
Blog: https://www.sysadmins.lv</maml:para>
        </maml:alert>
    </maml:alertSet>
    <command:examples>
        <command:example>
            <maml:title>-------------------------- Example 1 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>(Get-ChildItem cert:\CurrentUser\my)[0] | Get-CertificateContextProperty -NameList</dev:code>
            <dev:remarks>
                <maml:para>Retrieves the list of populated property names for the first certificate in the &#39;Current User\Personal&#39; store.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
        <command:example>
            <maml:title>-------------------------- Example 2 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>(Get-ChildItem cert:\CurrentUser\my)[0] | Get-CertificateContextProperty -PropertyName &quot;ProviderInfo&quot;</dev:code>
            <dev:remarks>
                <maml:para>Retrieves the private key&#39;s cryptographic service provider. If presented, output information will contain CSP/KSP name, provider type and container name.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
        <command:example>
            <maml:title>-------------------------- Example 3 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>(Get-ChildItem cert:\CurrentUser\my)[0] | Get-CertificateContextProperty</dev:code>
            <dev:remarks>
                <maml:para>Retrieves all available certificate context properties and their values for the specified certificate object.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <maml:relatedLinks>
    </maml:relatedLinks>
</command:command>
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
<!--Generated by PS Cmdlet Help Editor-->
    <command:details>
        <command:name>Add-AdCertificate</command:name>
        <maml:description>
            <maml:para>Adds certificate to a specified AD-based certificate PKI container.</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para />
        </maml:copyright>
        <command:verb>Add</command:verb>
        <command:noun>AdCertificate</command:noun>
        <dev:version />
    </command:details>
    <maml:description>
        <maml:para>Adds certificate to a specified AD-based certificate PKI container.</maml:para>
        <maml:para>AD PKI container managements require Enterprise Admins permissions or explicitly delegated permissions to Public Key Services container in Active Directory.</maml:para>
    </maml:description>
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Add-AdCertificate</maml:name>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0">
                <maml:name>AdContainer</maml:name>
                <maml:description>
                    <maml:para>Specifies the AD-based PKI certificate container the certificate is added to. Input object is retrieved by calling a Get-AdPkiContainer cmdlet with NTAuth, AIA, RootCA or KRA container type.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">DsPkiCertContainer</command:parameterValue>
            </command:parameter>
            <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="1">
                <maml:name>Certificate</maml:name>
                <maml:description>
                    <maml:para>Specifies a collection of certificates to add to AD certificate store.</maml:para>
                    <maml:para>If input AD container is of DsKraContainer type, a certificate is expected to be a key recovery agent (KRA) certificate and must be valid for key recovery operation (OID=1.3.6.1.4.1.311.21.6). In other cases, the certificate is expected to be a CA certificate.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="true">X509Certificate2[]</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>CrossCA</maml:name>
                <maml:description>
                    <maml:para>Specifies whether the certificate is published as cross-certificate. This switch parameter makes sense only when input AD container is of DsAiaContainer type. For other containers, this parameter is ignored.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Dispose</maml:name>
                <maml:description>
                    <maml:para>Disposes input AD container object. AD container object contains active reference to LDAP object and it is recommended to release object when it is no longer necessary to avoid memory leaks.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <command:parameters>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0">
            <maml:name>AdContainer</maml:name>
            <maml:description>
                <maml:para>Specifies the AD-based PKI certificate container the certificate is added to. Input object is retrieved by calling a Get-AdPkiContainer cmdlet with NTAuth, AIA, RootCA or KRA container type.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">DsPkiCertContainer</command:parameterValue>
            <dev:type>
                <maml:name>DsPkiCertContainer</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="1">
            <maml:name>Certificate</maml:name>
            <maml:description>
                <maml:para>Specifies a collection of certificates to add to AD certificate store.</maml:para>
                <maml:para>If input AD container is of DsKraContainer type, a certificate is expected to be a key recovery agent (KRA) certificate and must be valid for key recovery operation (OID=1.3.6.1.4.1.311.21.6). In other cases, the certificate is expected to be a CA certificate.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="true">X509Certificate2[]</command:parameterValue>
            <dev:type>
                <maml:name>X509Certificate2[]</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>CrossCA</maml:name>
            <maml:description>
                <maml:para>Specifies whether the certificate is published as cross-certificate. This switch parameter makes sense only when input AD container is of DsAiaContainer type. For other containers, this parameter is ignored.</maml:para>
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Dispose</maml:name>
            <maml:description>
                <maml:para>Disposes input AD container object. AD container object contains active reference to LDAP object and it is recommended to release object when it is no longer necessary to avoid memory leaks.</maml:para>
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
    </command:parameters>
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name></maml:name>
                <maml:uri></maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>SysadminsLV.PKI.Management.ActiveDirectory.DsPkiContainer</maml:name>
                <maml:uri>https://www.sysadmins.lv/library/pkix.net/html/T_SysadminsLV_PKI_Management_ActiveDirectory_DsPkiContainer.htm</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <command:terminatingErrors></command:terminatingErrors>
    <command:nonTerminatingErrors></command:nonTerminatingErrors>
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>Author: Vadims Podans
Blog: https://www.sysadmins.lv</maml:para>
        </maml:alert>
    </maml:alertSet>
    <command:examples>
        <command:example>
            <maml:title>-------------------------- Example 1 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 &quot;c:\pki\root_cacert.crt&quot;
PS C:\&gt; Get-AdPkiContainer -ContainerType RootCA | Add-AdCertificate -Certificate $cert -Dispose</dev:code>
            <dev:remarks>
                <maml:para>This example gets certificate from a file, retrieves RootCA (trusted root CAs) AD container and publishes certificate to RootCA container. After operation completion, input object (RootCA container) is disposed. After autoenrollment trigger, domain members will get new trusted root CA.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
        <command:example>
            <maml:title>-------------------------- Example 2 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 &quot;c:\pki\cross.cer&quot;
PS C:\&gt; Get-AdPkiContainer -ContainerType AIA | Add-AdCertificate -Certificate $cert -CrossCertificate -Dispose</dev:code>
            <dev:remarks>
                <maml:para>This example gets certificate from a file, retrieves AIA (intermediate CA) AD container and publishes certificate to AIA container as cross-certificate. After operation completion, input object (AIA container) is disposed. After autoenrollment trigger, domain members will get new certificate in Intermediate CAs local store.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>https://www.sysadmins.lv/projects/pspki/add-adcertificate.aspx</maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-AdPkiContainer</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Remove-AdCertificate</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Add-AdCertificateRevocationList</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Remove-AdCertificateRevocationList</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
<!--Generated by PS Cmdlet Help Editor-->
    <command:details>
        <command:name>Add-AdCertificateRevocationList</command:name>
        <maml:description>
            <maml:para>Adds certificate revocation list (CRL) to Active Directory.</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para />
        </maml:copyright>
        <command:verb>Add</command:verb>
        <command:noun>AdCertificateRevocationList</command:noun>
        <dev:version />
    </command:details>
    <maml:description>
        <maml:para>Adds certificate revocation list (CRL) to Active Directory. CRLs are stored in Active Directory under &#39;CN=CDP, CN=Public Key Services, CN=Services, {ConfigurationNamingContext}&#39;. A subcontainer is created for each CA under CDP container. Subcontainer, usually, is short or NetBIOS name of CA server. Custom names are supported. Subcontainer stores CRL entries for each CA private key. Unlike other AD PKI containers, contents of CDP container is not propagated to clients and are used only when explicit URL is specified in the certificate&#39;s CDP (CRL Distribution Points) extension.</maml:para>
    </maml:description>
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Add-AdCertificateRevocationList</maml:name>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0">
                <maml:name>CdpContainer</maml:name>
                <maml:description>
                    <maml:para>Specifies the CDP container object to add the CRL to.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">DsCDPContainer</command:parameterValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1">
                <maml:name>CertificateRevocationList</maml:name>
                <maml:description>
                    <maml:para>Specifies the certificate revocation list object to add.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">X509CRL2</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="2">
                <maml:name>HostName</maml:name>
                <maml:description>
                    <maml:para>Specifies the subcontainer name which is usually a short or NetBIOS name of CA computer. This parameter can be omitted when CRL includes &#39;Published CRL Locations&#39; CRL extension, which includes exact path in Active Directory to publish to. If CRL doesn&#39;t include &#39;Published CRL Locations&#39; CRL extension, this parameter is required, otherwise, an error will be thrown.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Dispose</maml:name>
                <maml:description>
                    <maml:para>Disposes input AD container object. AD container object contains active reference to LDAP object and it is recommended to release object when it is no longer necessary to avoid memory leaks.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <command:parameters>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0">
            <maml:name>CdpContainer</maml:name>
            <maml:description>
                <maml:para>Specifies the CDP container object to add the CRL to.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">DsCDPContainer</command:parameterValue>
            <dev:type>
                <maml:name>DsCDPContainer</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1">
            <maml:name>CertificateRevocationList</maml:name>
            <maml:description>
                <maml:para>Specifies the certificate revocation list object to add.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">X509CRL2</command:parameterValue>
            <dev:type>
                <maml:name>X509CRL2</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="2">
            <maml:name>HostName</maml:name>
            <maml:description>
                <maml:para>Specifies the subcontainer name which is usually a short or NetBIOS name of CA computer. This parameter can be omitted when CRL includes &#39;Published CRL Locations&#39; CRL extension, which includes exact path in Active Directory to publish to. If CRL doesn&#39;t include &#39;Published CRL Locations&#39; CRL extension, this parameter is required, otherwise, an error will be thrown.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
            <dev:type>
                <maml:name>String</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Dispose</maml:name>
            <maml:description>
                <maml:para>Disposes input AD container object. AD container object contains active reference to LDAP object and it is recommended to release object when it is no longer necessary to avoid memory leaks.</maml:para>
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
    </command:parameters>
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name>SysadminsLV.PKI.Management.ActiveDirectory.DsCDPContainer</maml:name>
                <maml:uri>https://www.sysadmins.lv/library/pkix.net/html/T_SysadminsLV_PKI_Management_ActiveDirectory_DsCDPContainer.htm</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>SysadminsLV.PKI.Management.ActiveDirectory.DsCDPContainer</maml:name>
                <maml:uri>https://www.sysadmins.lv/library/pkix.net/html/T_SysadminsLV_PKI_Management_ActiveDirectory_DsCDPContainer.htm</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <command:terminatingErrors></command:terminatingErrors>
    <command:nonTerminatingErrors></command:nonTerminatingErrors>
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>Author: Vadims Podans
Blog: https://www.sysadmins.lv</maml:para>
        </maml:alert>
    </maml:alertSet>
    <command:examples>
        <command:example>
            <maml:title>-------------------------- Example 1 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>$crl = Get-CRL -Path &quot;c:\pki\contoso subca.crl&quot;
PS C:\&gt; Get-AdPkiContainer -ContainerType CDP | Add-AdCertificateRevocationList -CRL $crl -HostName &quot;subca01&quot; -Dispose</dev:code>
            <dev:remarks>
                <maml:para>This command reads CRL object from file, retrieves CDP container from Active Directory and writes CRL to CDP object. During object creation, a dedicated subcontainer with name &#39;subca01&#39; under CDP container is created. After operation completion, input object (CDP container) is disposed.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>https://www.sysadmins.lv/projects/pspki/add-adcertificaterevocationlist.aspx</maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-AdPkiContainer</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Remove-AdCertificateRevocationList</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Add-AdCertificate</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Remove-AdCertificate</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
<!--Generated by PS Cmdlet Help Editor-->
    <command:details>
        <command:name>Get-AdPkiContainer</command:name>
        <maml:description>
            <maml:para>Retrieves named PKI container from Active Directory.</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para />
        </maml:copyright>
        <command:verb>Get</command:verb>
        <command:noun>AdPkiContainer</command:noun>
        <dev:version />
    </command:details>
    <maml:description>
        <maml:para>Retrieves named PKI container from Active Directory. AD PKI containers are used to hold information about enterprise PKI. Such information includes:</maml:para>
        <maml:para>- intermediate CA certificates
- trusted root CA certificates
- certitificate revocation lists
- Enterprise CA registration information
- enterprise object identifiers (OID)
- key recoverty agent (KRA) certificates
- enterprise certificate templates</maml:para>
    </maml:description>
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Get-AdPkiContainer</maml:name>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>ContainerType</maml:name>
                <maml:description>
                    <maml:para>Specifies the container type. The value can be one of the following:
- NTAuth — Contains certificates of CAs that are allowed to issue client authentication certificates and perform client private key archival. These certificates are downloaded and cached on Active Directory forest clients.
- AIA — Contains CA certificates and cross-certificates that are used by certificate clients to build certificate chains. These certificates are downloaded and cached on Active Directory forest clients.
- CDP — Contains certificate revocation lists published to Active Directory. These CRLs are not automatically downloaded by clients. They are accessed only when explicit request to specific CRL is created.
- RootCA — Contains certificates of trusted root CAs approved by Active Directory administrators. These certificates are downloaded and cached on Active Directory forest clients.
- EnrollmentServices — Contains enrollment service objects (typically Enterprise CAs) which are used by clients that implement [MS-WCCE] communication protocol to manually, or automatically request certificates.
- KRA — Contains a collection of key recovery agent (KRA) certificates published to Active Directory. Certification Authorities use this container to locate KRA certificates when key archival is configured.
- OID — Contains a collection of mapping objects between object identifier (OID) and their friendly names.
- CertificateTemplates — Contains a collection of certificate templates.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">DsContainerType</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <command:parameters>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
            <maml:name>ContainerType</maml:name>
            <maml:description>
                <maml:para>Specifies the container type. The value can be one of the following:
- NTAuth — Contains certificates of CAs that are allowed to issue client authentication certificates and perform client private key archival. These certificates are downloaded and cached on Active Directory forest clients.
- AIA — Contains CA certificates and cross-certificates that are used by certificate clients to build certificate chains. These certificates are downloaded and cached on Active Directory forest clients.
- CDP — Contains certificate revocation lists published to Active Directory. These CRLs are not automatically downloaded by clients. They are accessed only when explicit request to specific CRL is created.
- RootCA — Contains certificates of trusted root CAs approved by Active Directory administrators. These certificates are downloaded and cached on Active Directory forest clients.
- EnrollmentServices — Contains enrollment service objects (typically Enterprise CAs) which are used by clients that implement [MS-WCCE] communication protocol to manually, or automatically request certificates.
- KRA — Contains a collection of key recovery agent (KRA) certificates published to Active Directory. Certification Authorities use this container to locate KRA certificates when key archival is configured.
- OID — Contains a collection of mapping objects between object identifier (OID) and their friendly names.
- CertificateTemplates — Contains a collection of certificate templates.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">DsContainerType</command:parameterValue>
            <dev:type>
                <maml:name>DsContainerType</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
    </command:parameters>
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name></maml:name>
                <maml:uri></maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>SysadminsLV.PKI.Management.ActiveDirectory.DsPkiContainer</maml:name>
                <maml:uri>https://www.sysadmins.lv/library/pkix.net/html/T_SysadminsLV_PKI_Management_ActiveDirectory_DsPkiContainer.htm</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <command:terminatingErrors></command:terminatingErrors>
    <command:nonTerminatingErrors></command:nonTerminatingErrors>
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>Author: Vadims Podans
Blog: https://www.sysadmins.lv</maml:para>
        </maml:alert>
    </maml:alertSet>
    <command:examples>
    </command:examples>
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>https://www.sysadmins.lv/projects/pspki/Get-AdPkiContainer.aspx</maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Add-AdCertificate</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Add-AdCertificateRevocationList</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Remove-AdCertificate</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Remove-AdCertificateRevocationList</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
<!--Generated by PS Cmdlet Help Editor-->
    <command:details>
        <command:name>Remove-AdCertificate</command:name>
        <maml:description>
            <maml:para>Removes certificate from AD PKI container.</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para />
        </maml:copyright>
        <command:verb>Remove</command:verb>
        <command:noun>AdCertificate</command:noun>
        <dev:version />
    </command:details>
    <maml:description>
        <maml:para>Removes certificate from AD PKI container. Single container may contain multiple CA certificate objects. Exact object to remove is determined by AD certificate entry.</maml:para>
    </maml:description>
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Remove-AdCertificate</maml:name>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
                <maml:name>AdContainer</maml:name>
                <maml:description>
                    <maml:para>AD PKI certificate container where the object is searched and removed when found.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">DsPkiCertContainer</command:parameterValue>
            </command:parameter>
            <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>Certificate</maml:name>
                <maml:description>
                    <maml:para>Specifies one or more certificate objects to remove. Certificate objects can be retrieved from Certificates property of input DsPkiCertContainer container.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="true">DsCertificateEntry[]</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>ForceDelete</maml:name>
                <maml:description>
                    <maml:para>Deletes associated Active Directory entry when all certificate objects are removed from container. This operation keeps Active Directory in cleaner state by removing empty objects.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Dispose</maml:name>
                <maml:description>
                    <maml:para>Disposes input AD container object. AD container object contains active reference to LDAP object and it is recommended to release object when it is no longer necessary to avoid memory leaks.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
        <command:syntaxItem>
            <maml:name>Remove-AdCertificate</maml:name>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
                <maml:name>AdContainer</maml:name>
                <maml:description>
                    <maml:para>AD PKI certificate container where the object is searched and removed when found.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">DsPkiCertContainer</command:parameterValue>
            </command:parameter>
            <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>Thumbprint</maml:name>
                <maml:description>
                    <maml:para>Specifies an array of strings that represents certificate thumbprint to remove. All certificates with matching thumbprint will be deleted from Active Directory PKI certificate container.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="true">String[]</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>ForceDelete</maml:name>
                <maml:description>
                    <maml:para>Deletes associated Active Directory entry when all certificate objects are removed from container. This operation keeps Active Directory in cleaner state by removing empty objects.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Dispose</maml:name>
                <maml:description>
                    <maml:para>Disposes input AD container object. AD container object contains active reference to LDAP object and it is recommended to release object when it is no longer necessary to avoid memory leaks.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <command:parameters>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
            <maml:name>AdContainer</maml:name>
            <maml:description>
                <maml:para>AD PKI certificate container where the object is searched and removed when found.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">DsPkiCertContainer</command:parameterValue>
            <dev:type>
                <maml:name>DsPkiCertContainer</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="named">
            <maml:name>Certificate</maml:name>
            <maml:description>
                <maml:para>Specifies one or more certificate objects to remove. Certificate objects can be retrieved from Certificates property of input DsPkiCertContainer container.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="true">DsCertificateEntry[]</command:parameterValue>
            <dev:type>
                <maml:name>DsCertificateEntry[]</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>ForceDelete</maml:name>
            <maml:description>
                <maml:para>Deletes associated Active Directory entry when all certificate objects are removed from container. This operation keeps Active Directory in cleaner state by removing empty objects.</maml:para>
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Dispose</maml:name>
            <maml:description>
                <maml:para>Disposes input AD container object. AD container object contains active reference to LDAP object and it is recommended to release object when it is no longer necessary to avoid memory leaks.</maml:para>
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="named">
            <maml:name>Thumbprint</maml:name>
            <maml:description>
                <maml:para>Specifies an array of strings that represents certificate thumbprint to remove. All certificates with matching thumbprint will be deleted from Active Directory PKI certificate container.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="true">String[]</command:parameterValue>
            <dev:type>
                <maml:name>String[]</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
    </command:parameters>
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name>SysadminsLV.PKI.Management.ActiveDirectory.DsPkiCertContainer</maml:name>
                <maml:uri>https://www.sysadmins.lv/library/pkix.net/html/T_SysadminsLV_PKI_Management_ActiveDirectory_DsPkiCertContainer.htm</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>SysadminsLV.PKI.Management.ActiveDirectory.DsPkiContainer</maml:name>
                <maml:uri>https://www.sysadmins.lv/library/pkix.net/html/T_SysadminsLV_PKI_Management_ActiveDirectory_DsPkiContainer.htm</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <command:terminatingErrors></command:terminatingErrors>
    <command:nonTerminatingErrors></command:nonTerminatingErrors>
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>Author: Vadims Podans
Blog: https://www.sysadmins.lv</maml:para>
        </maml:alert>
    </maml:alertSet>
    <command:examples>
        <command:example>
            <maml:title>-------------------------- Example 1 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>Get-AdPkiContainer -ContainerType NTAuth | Remove-AdCertificate -Thumbprint &quot;EC9385E533782453D5C285B2A67311447FB57A6F&quot;, &quot;3E778F108E7DC983939732AFAC3EE89383478973&quot; -Dispose</dev:code>
            <dev:remarks>
                <maml:para>This command retrieves NTAuth container from Active Directory and removes all certificate occurences with specified certificate thumbprints. After operation completion, input object (NTAuth container) is disposed.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
        <command:example>
            <maml:title>-------------------------- Example 2 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>$aia = Get-AdPkiContainer -ContainerType AIA
PS C:\&gt; $entries = $aia.Certificates | Where-Object {$_.Name -eq &quot;Contoso CA&quot;}
PS C:\&gt; Get-AdPkiContainer -ContainerType AIA | Remove-AdCertificate -Certificate $entries -Dispose -ForceDelete</dev:code>
            <dev:remarks>
                <maml:para>First line retrieves AIA (SubCA) container from Active Directory. Second line selects all certificate enries for &quot;Contoso CA&quot; in specified container. Third line removes selected entries from AIA container and deletes empty CA entry from Active Directory. After operation completion, input object (AIA container) is disposed.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>https://www.sysadmins.lv/projects/pspki/remove-adcertificate.aspx</maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-AdPkiContainer</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Add-AdCertificate</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Add-AdCertificateRevocationList</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Remove-AdCertificateRevocationList</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
<!--Generated by PS Cmdlet Help Editor-->
    <command:details>
        <command:name>Remove-AdCertificateRevocationList</command:name>
        <maml:description>
            <maml:para>Removes certificate revocation list (CRL) from Active Directory.</maml:para>
        </maml:description>
        <maml:copyright>
            <maml:para />
        </maml:copyright>
        <command:verb>Remove</command:verb>
        <command:noun>AdCertificateRevocationList</command:noun>
        <dev:version />
    </command:details>
    <maml:description>
        <maml:para>Removes certificate revocation list (CRL) from Active Directory.</maml:para>
    </maml:description>
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Remove-AdCertificateRevocationList</maml:name>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
                <maml:name>CdpContainer</maml:name>
                <maml:description>
                    <maml:para>Specifies the CDP container object to remove CRL from.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">DsCDPContainer</command:parameterValue>
            </command:parameter>
            <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>CertificateRevocationList</maml:name>
                <maml:description>
                    <maml:para>Specifies one or more CRL entries to remove. Parameter objects are part of &#39;RevocationLists&#39; property of CDP container.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="true">DsCrlEntry[]</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>ForceDelete</maml:name>
                <maml:description>
                    <maml:para>Deletes associated Active Directory entry when all CRL objects are removed from container. This operation keeps Active Directory in cleaner state by removing empty objects. This parameter only deletes empty CRL entries and does not delete empty containers.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Dispose</maml:name>
                <maml:description>
                    <maml:para>Disposes input AD container object. AD container object contains active reference to LDAP object and it is recommended to release object when it is no longer necessary to avoid memory leaks.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
        <command:syntaxItem>
            <maml:name>Remove-AdCertificateRevocationList</maml:name>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
                <maml:name>CdpContainer</maml:name>
                <maml:description>
                    <maml:para>Specifies the CDP container object to remove CRL from.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="false">DsCDPContainer</command:parameterValue>
            </command:parameter>
            <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>Thumbprint</maml:name>
                <maml:description>
                    <maml:para>Specifies an array of strings that represents CRL thumbprint to remove. All CRLs with matching thumbprint will be deleted from Active Directory CDP container.</maml:para>
                </maml:description>
                <command:parameterValue required="true" variableLength="true">String[]</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>ForceDelete</maml:name>
                <maml:description>
                    <maml:para>Deletes associated Active Directory entry when all CRL objects are removed from container. This operation keeps Active Directory in cleaner state by removing empty objects. This parameter only deletes empty CRL entries and does not delete empty containers.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Dispose</maml:name>
                <maml:description>
                    <maml:para>Disposes input AD container object. AD container object contains active reference to LDAP object and it is recommended to release object when it is no longer necessary to avoid memory leaks.</maml:para>
                </maml:description>
                <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <command:parameters>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
            <maml:name>CdpContainer</maml:name>
            <maml:description>
                <maml:para>Specifies the CDP container object to remove CRL from.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">DsCDPContainer</command:parameterValue>
            <dev:type>
                <maml:name>DsCDPContainer</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="named">
            <maml:name>CertificateRevocationList</maml:name>
            <maml:description>
                <maml:para>Specifies one or more CRL entries to remove. Parameter objects are part of &#39;RevocationLists&#39; property of CDP container.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="true">DsCrlEntry[]</command:parameterValue>
            <dev:type>
                <maml:name>DsCrlEntry[]</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>ForceDelete</maml:name>
            <maml:description>
                <maml:para>Deletes associated Active Directory entry when all CRL objects are removed from container. This operation keeps Active Directory in cleaner state by removing empty objects. This parameter only deletes empty CRL entries and does not delete empty containers.</maml:para>
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Dispose</maml:name>
            <maml:description>
                <maml:para>Disposes input AD container object. AD container object contains active reference to LDAP object and it is recommended to release object when it is no longer necessary to avoid memory leaks.</maml:para>
            </maml:description>
            <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="false" position="named">
            <maml:name>Thumbprint</maml:name>
            <maml:description>
                <maml:para>Specifies an array of strings that represents CRL thumbprint to remove. All CRLs with matching thumbprint will be deleted from Active Directory CDP container.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="true">String[]</command:parameterValue>
            <dev:type>
                <maml:name>String[]</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
    </command:parameters>
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name>SysadminsLV.PKI.Management.ActiveDirectory.DsCDPContainer</maml:name>
                <maml:uri>https://www.sysadmins.lv/library/pkix.net/html/T_SysadminsLV_PKI_Management_ActiveDirectory_DsCDPContainer.htm</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>SysadminsLV.PKI.Management.ActiveDirectory.DsCDPContainer</maml:name>
                <maml:uri>https://www.sysadmins.lv/library/pkix.net/html/T_SysadminsLV_PKI_Management_ActiveDirectory_DsCDPContainer.htm</maml:uri>
                <maml:description/>
            </dev:type>
            <maml:description>
<maml:para />
            </maml:description>
        </command:returnValue>
    </command:returnValues>
    <command:terminatingErrors></command:terminatingErrors>
    <command:nonTerminatingErrors></command:nonTerminatingErrors>
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para>Author: Vadims Podans
Blog: https://www.sysadmins.lv</maml:para>
        </maml:alert>
    </maml:alertSet>
    <command:examples>
        <command:example>
            <maml:title>-------------------------- Example 1 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>PS C:\&gt; Get-AdPkiContainer -ContainerType CDP | Remove-AdCertificateRevocationList -Thumbprint &quot;1C4BF393320A6C70D5C506AF9F422950B0C11EAB6273132C9B326438AB1C0929&quot;, &quot;17FCB3E67512017E4611FBA9052164031F1D873F800E613A96AC09F77D269349&quot; -Dispose -ForceDelete</dev:code>
            <dev:remarks>
                <maml:para>This command retrieves CDP container from Active Directory and removes all CRLs with specified certificate thumbprints. If particular CDP entry in Active Directory is empty, it is deleted. After operation completion, input object (CDP container) is disposed.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
        <command:example>
            <maml:title>-------------------------- Example 2 --------------------------</maml:title>
            <maml:introduction>
                <maml:paragraph>PS C:\&gt;</maml:paragraph>
            </maml:introduction>
            <dev:code>$cdp = Get-AdPkiContainer -ContainerType CDP
PS C:\&gt; $entries = $cdp.RevocationLists | Where-Object {$_.HostName -eq &quot;subca01&quot;}
PS C:\&gt; Get-AdPkiContainer -ContainerType CDP | Remove-AdCertificateRevocationList -CRL $entries -Dispose -ForceDelete</dev:code>
            <dev:remarks>
                <maml:para>First line retrieves CDP container from Active Directory. Second line selects all CRL entries for &quot;subca01&quot; host name in specified container. Third line removes selected entries from CDP container and deletes empty CDP entries from Active Directory. After operation completion, input object (CDP container) is disposed.</maml:para>
                <maml:para />
                <maml:para />
                <maml:para></maml:para>
            </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                        <maml:para />
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>https://www.sysadmins.lv/projects/pspki/remove-adcertificaterevocationlist.aspx</maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Get-AdPkiContainer</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Add-AdCertificateRevocationList</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Add-AdCertificate</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
        <maml:navigationLink>
            <maml:linkText>Remove-AdCertificate</maml:linkText>
            <maml:uri></maml:uri>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
</helpItems>