我有一个 PowerShell 脚本,可以从注册表中获取所有已安装的凭据提供程序。我只对第三方凭据提供程序感兴趣。
是否有一种可靠且自动化的方法来区分系统和第三方凭证提供商?
答案1
有一个默认设置,您可以通过从原始系统上的注册表中获取您想要的目标操作系统的列表来做出 3rdP 判断,当然,当您进行比较时,默认配置单元列表中不存在的任何内容都是 3rdP 或定制的内部开发的。
当然,您可以使用常规注册表 cmdlet 来获取列表......
$RegKeyAuth = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication'
$RegKeyCredentialProviders = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Credential Providers'
Get-ChildItem -Path $RegKeyAuth |
Format-Table -AutoSize
Get-ItemProperty -Path $RegKeyCredentialProviders
Get-ChildItem -Path $RegKeyCredentialProviders |
Format-Table -AutoSize
...或根据需要从系统手动导出以进行比较和解析。