PSADCSToolkit.Types.ps1xml

<?xml version="1.0" encoding="utf-8"?>
<Types>
  <Type>
    <Name>ADCSTemplate</Name>
    <Members>
      <MemberSet>
        <Name>PSStandardMembers</Name>
        <Members>
          <PropertySet>
            <Name>DefaultDisplayPropertySet</Name>
            <ReferencedProperties>
              <Name>Name</Name>
              <Name>DistinguishedName</Name>
              <Name>DisplayName</Name>
              <Name>flags</Name>
              <Name>CertificateApplicationPolicy</Name>
              <Name>CertificateNameFlag</Name>
              <Name>CertificatePolicy</Name>
              <Name>TemplateOID</Name>
              <Name>EnrollmentFlag</Name>
              <Name>MinimalKeySize</Name>
              <Name>PrivateKeyFlag</Name>
              <Name>RegistrationAuthorityApplicationPolicies</Name>
              <Name>RegistrationAuthorityPolicies</Name>
              <Name>RegistrationAuthoritySignatureCount</Name>
              <Name>SupersedeTemplates</Name>
              <Name>MinorRevision</Name>
              <Name>SchemaVersion</Name>
              <Name>CriticalExtensions</Name>
              <Name>DefaultCSPs</Name>
              <Name>DefaultKeySpec</Name>
              <Name>ExpirationPeriod</Name>
              <Name>ExtendedKeyUsage</Name>
              <Name>KeyUsage</Name>
              <Name>MaxIssuingDepth</Name>
              <Name>OverlapPeriod</Name>
              <Name>revision</Name>
            </ReferencedProperties>
          </PropertySet>
        </Members>
      </MemberSet>
      <!--
      <NoteProperty>
        <Name>xxx</Name>
        <Value></Value>
        <TypeName>System.String</TypeName>
      </NoteProperty>
      <AliasProperty>
        <Name>xxx</Name>
        <ReferencedMemberName>yyy</ReferencedMemberName>
        <TypeName>System.Int32</TypeName>
      </AliasProperty>
      <ScriptProperty>
        <Name>xxxx</Name>
        <GetScriptBlock></GetScriptBlock>
        <SetScriptBlock></SetScriptBlock>
      </ScriptProperty>
      -->
      <AliasProperty>
        <Name>TemplateFlags</Name>
        <ReferencedMemberName>flags</ReferencedMemberName>
        <TypeName>ADCSTemplateFlags</TypeName>
      </AliasProperty>
      <AliasProperty>
        <Name>CertificateApplicationPolicy</Name>
        <ReferencedMemberName>msPKI-Certificate-Application-Policy</ReferencedMemberName>
        <TypeName>Security.Cryptography.Oid[]</TypeName>
      </AliasProperty>
      <AliasProperty>
        <Name>CertificateNameFlag</Name>
        <ReferencedMemberName>msPKI-Certificate-Name-Flag</ReferencedMemberName>
        <TypeName>ADCSTemplateCertificateNameFlags</TypeName>
      </AliasProperty>
      <AliasProperty>
        <Name>CertificatePolicy</Name>
        <ReferencedMemberName>msPKI-Certificate-Policy</ReferencedMemberName>
        <TypeName>Security.Cryptography.Oid[]</TypeName>
      </AliasProperty>
      <AliasProperty>
        <Name>TemplateOID</Name>
        <ReferencedMemberName>msPKI-Cert-Template-OID</ReferencedMemberName>
        <TypeName>Security.Cryptography.Oid</TypeName>
      </AliasProperty>
      <AliasProperty>
        <Name>EnrollmentFlag</Name>
        <ReferencedMemberName>msPKI-Enrollment-Flag</ReferencedMemberName>
        <TypeName>ADCSTemplateEnrollmentFlags</TypeName>
      </AliasProperty>
      <AliasProperty>
        <Name>MinimalKeySize</Name>
        <ReferencedMemberName>msPKI-Minimal-Key-Size</ReferencedMemberName>
        <TypeName>System.Int32</TypeName>
      </AliasProperty>
      <AliasProperty>
        <Name>PrivateKeyFlag</Name>
        <ReferencedMemberName>msPKI-Private-Key-Flag</ReferencedMemberName>
        <TypeName>ADCSTemplatePrivateKeyFlags</TypeName>
      </AliasProperty>
      <AliasProperty>
        <Name>RegistrationAuthorityApplicationPolicies</Name>
        <ReferencedMemberName>msPKI-RA-Application-Policies</ReferencedMemberName>
        <TypeName>System.String[]</TypeName>
      </AliasProperty>
      <AliasProperty>
        <Name>RegistrationAuthorityPolicies</Name>
        <ReferencedMemberName>msPKI-RA-Policies</ReferencedMemberName>
        <TypeName>Security.Cryptography.Oid[]</TypeName>
      </AliasProperty>
      <AliasProperty>
        <Name>RegistrationAuthoritySignatureCount</Name>
        <ReferencedMemberName>msPKI-RA-Signature</ReferencedMemberName>
        <TypeName>System.Int32</TypeName>
      </AliasProperty>
      <AliasProperty>
        <Name>SupersedeTemplates</Name>
        <ReferencedMemberName>msPKI-Supersede-Templates</ReferencedMemberName>
        <TypeName>System.String[]</TypeName>
      </AliasProperty>
      <AliasProperty>
        <Name>MinorRevision</Name>
        <ReferencedMemberName>msPKI-Template-Minor-Revision</ReferencedMemberName>
        <TypeName>System.Int32</TypeName>
      </AliasProperty>
      <AliasProperty>
        <Name>SchemaVersion</Name>
        <ReferencedMemberName>msPKI-Template-Schema-Version</ReferencedMemberName>
        <TypeName>System.Int32</TypeName>
      </AliasProperty>
      <AliasProperty>
        <Name>CriticalExtensions</Name>
        <ReferencedMemberName>pKICriticalExtensions</ReferencedMemberName>
        <TypeName>Security.Cryptography.Oid[]</TypeName>
      </AliasProperty>
      <AliasProperty>
        <Name>DefaultCSPs</Name>
        <ReferencedMemberName>pKIDefaultCSPs</ReferencedMemberName>
        <TypeName>System.String[]</TypeName>
      </AliasProperty>
      <AliasProperty>
        <Name>DefaultKeySpec</Name>
        <ReferencedMemberName>pKIDefaultKeySpec</ReferencedMemberName>
        <TypeName>ADCSTemplateKeySpecFlags</TypeName>
      </AliasProperty>
      <ScriptProperty>
        <Name>ExpirationPeriod</Name>
        <GetScriptBlock>
          $expirationPeriod = $this.pKIExpirationPeriod
          if ($expirationPeriod) {
            $expirationPeriodInt64 = [BitConverter]::ToInt64($expirationPeriod, 0) * -1
            [TimeSpan]::FromTicks($expirationPeriodInt64)
          }
        </GetScriptBlock>
      </ScriptProperty>
      <AliasProperty>
        <Name>ExtendedKeyUsage</Name>
        <ReferencedMemberName>pKIExtendedKeyUsage</ReferencedMemberName>
        <TypeName>Security.Cryptography.Oid[]</TypeName>
      </AliasProperty>
      <ScriptProperty>
        <Name>KeyUsage</Name>
        <GetScriptBlock>
          $keyUsage = $this.pkIKeyUsage
          if ($keyUsage) {
              If ($keyUsage.Count -eq 1) {
                  $keyUsage = $keyUsage + 0
              }
              $keyUsageInt16 = [BitConverter]::ToUInt16($keyUsage, 0)
              [System.Security.Cryptography.X509Certificates.X509KeyUsageFlags] $keyUsageInt16
          }
        </GetScriptBlock>
      </ScriptProperty>
      <AliasProperty>
        <Name>MaxIssuingDepth</Name>
        <ReferencedMemberName>pKIMaxIssuingDepth</ReferencedMemberName>
        <TypeName>System.Int32</TypeName>
      </AliasProperty>
 
      <ScriptProperty>
        <Name>OverlapPeriod</Name>
        <GetScriptBlock>
          $overlapPeriod = $this.pKIOverlapPeriod
          if ($overlapPeriod) {
            $overlapPeriodInt64 = [BitConverter]::ToInt64($overlapPeriod, 0) * -1
            [TimeSpan]::FromTicks($overlapPeriodInt64)
          }
        </GetScriptBlock>
      </ScriptProperty>
    </Members>
  </Type>
</Types>