usr/lib/Get-CredProviders.ps1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function Get-CredProviders {
  [CmdletBinding()]param()

  end {
    $root = 'HKLM:\SOFTWARE'
    ($clsids = Get-ChildItem ("$root\Microsoft\Windows\CurrentVersion" +
                               "\Authentication\Credential Providers")).ForEach{
      $clsid, $name = $_.PSChildName, $_.GetValue('')
      if (($prov = Get-ChildItem "$root\Classes\CLSID\$clsid" -ErrorAction 0)) {
        [PSCustomObject]@{
          CLSID = $clsid
          Name = $name
          Path = $prov.GetValue('')
        }
        $prov.Dispose()
      }
    }
    $clsids.Dispose()
  }
}

Export-ModuleMember -Function Get-CredProviders