DSInternals.Passkeys.Format.ps1xml

<?xml version="1.0" encoding="utf-8"?>
<Configuration>
  <ViewDefinitions>
    <!-- Get-PasskeyAuthenticator List View (Default) -->
    <View>
      <Name>DSInternals.Win32.WebAuthn.AuthenticatorDetails.ListView</Name>
      <ViewSelectedBy>
        <TypeName>DSInternals.Win32.WebAuthn.AuthenticatorDetails</TypeName>
      </ViewSelectedBy>
      <ListControl>
        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem>
                <Label>AuthenticatorId</Label>
                <ScriptBlock>[System.Buffers.Text.Base64Url]::EncodeToString($PSItem.AuthenticatorId)</ScriptBlock>
              </ListItem>
              <ListItem>
                <PropertyName>AuthenticatorName</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>Locked</PropertyName>
              </ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>
      </ListControl>
    </View>
 
    <!-- Get-PasskeyAuthenticator Table View -->
    <View>
      <Name>DSInternals.Win32.WebAuthn.AuthenticatorDetails.TableView</Name>
      <ViewSelectedBy>
        <TypeName>DSInternals.Win32.WebAuthn.AuthenticatorDetails</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>AuthenticatorId</Label>
            <Width>45</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>AuthenticatorName</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Locked</Label>
            <Width>8</Width>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <ScriptBlock>[System.Buffers.Text.Base64Url]::EncodeToString($PSItem.AuthenticatorId)</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>AuthenticatorName</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Locked</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
 
    <!-- Get-PasskeyAuthenticatorPlugin List View (Default) -->
    <View>
      <Name>DSInternals.Win32.WebAuthn.AuthenticatorPluginInformation.ListView</Name>
      <ViewSelectedBy>
        <TypeName>DSInternals.Win32.WebAuthn.AuthenticatorPluginInformation</TypeName>
      </ViewSelectedBy>
      <ListControl>
        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem>
                <PropertyName>UserName</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>Name</PropertyName>
              </ListItem>
              <ListItem>
                <Label>Publisher</Label>
                <PropertyName>PublisherDisplayName</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>PackageSignatureKind</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>Enabled</PropertyName>
              </ListItem>
              <ListItem>
                <Label>AAGUID</Label>
                <PropertyName>AaGuid</PropertyName>
              </ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>
      </ListControl>
    </View>
 
    <!-- Get-PasskeyAuthenticatorPlugin Table View -->
    <View>
      <Name>DSInternals.Win32.WebAuthn.AuthenticatorPluginInformation.TableView</Name>
      <ViewSelectedBy>
        <TypeName>DSInternals.Win32.WebAuthn.AuthenticatorPluginInformation</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>UserName</Label>
            <Width>20</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Name</Label>
            <Width>25</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Publisher</Label>
            <Width>20</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>SignatureKind</Label>
            <Width>14</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Enabled</Label>
            <Width>8</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>AAGUID</Label>
            <Width>38</Width>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>UserName</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Name</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>PublisherDisplayName</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>PackageSignatureKind</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Enabled</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>AaGuid</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
 
    <!-- Get-PasskeyWindowsHello List View (Default) -->
    <View>
      <Name>DSInternals.Win32.WebAuthn.CredentialDetails.ListView</Name>
      <ViewSelectedBy>
        <TypeName>DSInternals.Win32.WebAuthn.CredentialDetails</TypeName>
      </ViewSelectedBy>
      <ListControl>
        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem>
                <Label>CredentialId</Label>
                <ScriptBlock>[System.Buffers.Text.Base64Url]::EncodeToString($PSItem.CredentialId)</ScriptBlock>
              </ListItem>
              <ListItem>
                <Label>RelyingPartyId</Label>
                <ScriptBlock>$PSItem.RelyingPartyInformation.Id</ScriptBlock>
              </ListItem>
              <ListItem>
                <Label>RelyingPartyName</Label>
                <ScriptBlock>$PSItem.RelyingPartyInformation.Name</ScriptBlock>
              </ListItem>
              <ListItem>
                <Label>UserName</Label>
                <ScriptBlock>$PSItem.UserInformation.Name</ScriptBlock>
              </ListItem>
              <ListItem>
                <Label>UserDisplayName</Label>
                <ScriptBlock>$PSItem.UserInformation.DisplayName</ScriptBlock>
              </ListItem>
              <ListItem>
                <PropertyName>Removable</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>BackedUp</PropertyName>
              </ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>
      </ListControl>
    </View>
 
    <!-- Get-PasskeyWindowsHello Table View -->
    <View>
      <Name>DSInternals.Win32.WebAuthn.CredentialDetails.TableView</Name>
      <ViewSelectedBy>
        <TypeName>DSInternals.Win32.WebAuthn.CredentialDetails</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>CredentialId</Label>
            <Width>45</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>RelyingPartyId</Label>
            <Width>25</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>UserName</Label>
            <Width>25</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Removable</Label>
            <Width>10</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>BackedUp</Label>
            <Width>9</Width>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <ScriptBlock>[System.Buffers.Text.Base64Url]::EncodeToString($PSItem.CredentialId)</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>$PSItem.RelyingPartyInformation.Id</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>$PSItem.UserInformation.Name</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Removable</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>BackedUp</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
 
    <!-- Get-PasskeyRegistrationOptions (Okta) List View (Default) -->
    <View>
      <Name>DSInternals.Win32.WebAuthn.Okta.OktaWebauthnCredentialCreationOptions.ListView</Name>
      <ViewSelectedBy>
        <TypeName>DSInternals.Win32.WebAuthn.Okta.OktaWebauthnCredentialCreationOptions</TypeName>
      </ViewSelectedBy>
      <ListControl>
        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem>
                <PropertyName>FactorId</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>Tenant</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>PublicKeyOptions</PropertyName>
              </ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>
      </ListControl>
    </View>
 
    <!-- New-Passkey (Okta) List View (Default) -->
    <View>
      <Name>DSInternals.Win32.WebAuthn.Okta.OktaWebauthnAttestationResponse.ListView</Name>
      <ViewSelectedBy>
        <TypeName>DSInternals.Win32.WebAuthn.Okta.OktaWebauthnAttestationResponse</TypeName>
      </ViewSelectedBy>
      <ListControl>
        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem>
                <PropertyName>UserId</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>FactorId</PropertyName>
              </ListItem>
              <ListItem>
                <Label>CredentialId</Label>
                <ScriptBlock>[System.Buffers.Text.Base64Url]::EncodeToString($PSItem.CredentialId)</ScriptBlock>
              </ListItem>
              <ListItem>
                <Label>Attestation</Label>
                <ScriptBlock>[System.Buffers.Text.Base64Url]::EncodeToString($PSItem.Attestation)</ScriptBlock>
              </ListItem>
              <ListItem>
                <PropertyName>ClientDataJson</PropertyName>
              </ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>
      </ListControl>
    </View>
 
    <!-- Register-OktaPasskey List View (Default) -->
    <View>
      <Name>DSInternals.Win32.WebAuthn.Okta.OktaFido2AuthenticationMethod.ListView</Name>
      <ViewSelectedBy>
        <TypeName>DSInternals.Win32.WebAuthn.Okta.OktaFido2AuthenticationMethod</TypeName>
      </ViewSelectedBy>
      <ListControl>
        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem>
                <PropertyName>FactorId</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>FactorType</PropertyName>
              </ListItem>
              <ListItem>
                <Label>CredentialId</Label>
                <ScriptBlock>$PSItem.Profile.CredentialId</ScriptBlock>
              </ListItem>
              <ListItem>
                <Label>AuthenticatorName</Label>
                <ScriptBlock>$PSItem.Profile.AuthenticatorName</ScriptBlock>
              </ListItem>
              <ListItem>
                <PropertyName>Status</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>Created</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>LastUpdated</PropertyName>
              </ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>
      </ListControl>
    </View>
 
    <!-- Get-*PasskeyRegistrationOptions List View (Default) -->
    <View>
      <Name>DSInternals.Win32.WebAuthn.PublicKeyCredentialCreationOptions.ListView</Name>
      <ViewSelectedBy>
        <TypeName>DSInternals.Win32.WebAuthn.PublicKeyCredentialCreationOptions</TypeName>
      </ViewSelectedBy>
      <ListControl>
        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem>
                <PropertyName>RelyingParty</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>User</PropertyName>
              </ListItem>
              <ListItem>
                <Label>Challenge</Label>
                <ScriptBlock>[System.Buffers.Text.Base64Url]::EncodeToString($PSItem.Challenge)</ScriptBlock>
              </ListItem>
              <ListItem>
                <PropertyName>PublicKeyCredentialParameters</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>TimeoutMilliseconds</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>ExcludeCredentials</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>AuthenticatorSelection</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>Attestation</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>Extensions</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>Hints</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>AttestationFormats</PropertyName>
              </ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>
      </ListControl>
    </View>
 
    <!-- New-Passkey (WebAuthn) List View (Default) -->
    <View>
      <Name>DSInternals.Win32.WebAuthn.AttestationPublicKeyCredential.ListView</Name>
      <ViewSelectedBy>
        <TypeName>DSInternals.Win32.WebAuthn.AttestationPublicKeyCredential</TypeName>
      </ViewSelectedBy>
      <ListControl>
        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem>
                <Label>Id</Label>
                <ScriptBlock>[System.Buffers.Text.Base64Url]::EncodeToString($PSItem.Id)</ScriptBlock>
              </ListItem>
              <ListItem>
                <Label>RawId</Label>
                <ScriptBlock>if ($null -ne $PSItem.RawId) { [System.Buffers.Text.Base64Url]::EncodeToString($PSItem.RawId) }</ScriptBlock>
              </ListItem>
              <ListItem>
                <PropertyName>Type</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>AuthenticatorAttachment</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>Response</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>ClientExtensionResults</PropertyName>
              </ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>
      </ListControl>
    </View>
 
    <!-- Test-Passkey Custom View (Default) - JSON format with Base64Url encoding -->
    <View>
      <Name>DSInternals.Win32.WebAuthn.PublicKeyCredential.CustomView</Name>
      <ViewSelectedBy>
        <TypeName>DSInternals.Win32.WebAuthn.PublicKeyCredential</TypeName>
      </ViewSelectedBy>
      <CustomControl>
        <CustomEntries>
          <CustomEntry>
            <CustomItem>
              <ExpressionBinding>
                <ScriptBlock>$PSItem.ToString()</ScriptBlock>
              </ExpressionBinding>
            </CustomItem>
          </CustomEntry>
        </CustomEntries>
      </CustomControl>
    </View>
  </ViewDefinitions>
</Configuration>