如何使用PowerShell搜索安装在主机上的服务器Exchange或服务器身份验证类型证书?
我正在尝试从计算机证书存储如何使用PowerShell搜索安装在主机上的服务器Exchange或服务器身份验证类型证书?,powershell,certificate,ssl-certificate,powershell-2.0,certificate-store,Powershell,Certificate,Ssl Certificate,Powershell 2.0,Certificate Store,我正在尝试从计算机证书存储LocalMachine\My中选择一个用于服务器交换或身份验证(我不确定确切名称)目的的证书。我知道有些筛选器只返回特定类型的证书,例如: PS>Get ChildItem证书:\LocalMachine\My-codesigning 我想做的是: PS> Get-ChildItem Cert:\LocalMachine\My -exchange 它在PowerShell中失败 如果这样的筛选关键字不存在,一些人是否可以尝试一种方法来执行此操作,或者
LocalMachine\My
中选择一个用于服务器交换或身份验证(我不确定确切名称)目的的证书。我知道有些筛选器只返回特定类型的证书,例如:
PS>Get ChildItem证书:\LocalMachine\My-codesigning
我想做的是:
PS> Get-ChildItem Cert:\LocalMachine\My -exchange
它在PowerShell中失败
如果这样的筛选关键字不存在,一些人是否可以尝试一种方法来执行此操作,或者至少如何执行此操作?您可以通过以下方式读取每个证书属性:
Get-ChildItem Cert:\LocalMachine\My | fl *
然后,您可以按属性筛选,在本例中,按颁发者名称筛选:
Get-ChildItem Cert:\LocalMachine\My | where-object { $_.issuer -match "servername" }
您可以通过以下方式读取每个证书属性:
Get-ChildItem Cert:\LocalMachine\My | fl *
然后,您可以按属性筛选,在本例中,按颁发者名称筛选:
Get-ChildItem Cert:\LocalMachine\My | where-object { $_.issuer -match "servername" }
要获取具有服务器身份验证的证书列表,您可以按增强的密钥使用属性进行筛选:
dir cert:\localmachine\my | ? {
$_.Extensions | % {
$_.EnhancedKeyUsages | ? {
$_.FriendlyName -eq "Server Authentication"}}}
要获取具有服务器身份验证的证书列表,您可以按增强的密钥使用属性进行筛选:
dir cert:\localmachine\my | ? {
$_.Extensions | % {
$_.EnhancedKeyUsages | ? {
$_.FriendlyName -eq "Server Authentication"}}}
否,颁发者不指定是否为服务器身份验证目的创建证书,它只显示颁发证书的证书颁发机构的证书。我搜索了证书的属性,但找不到与其用途相关的属性。否,颁发者没有指定创建证书是否用于服务器身份验证,它只显示颁发证书的证书颁发机构的相同属性。我搜索了证书的属性,但找不到与其用途相关的属性。FriendlyName属性不一定与服务器身份验证相关。@rae1n不确定您的意思。此代码将列出所有具有的证书。@rae1n我认为您将此代码中的FriendlyName属性与证书中的另一个友好名称混淆。FriendlyName属性不一定与服务器身份验证相关。@rae1n不确定您的意思。此代码将列出所有具有的证书。@rae1n我认为您将此代码中的FriendlyName属性与证书中的另一个友好名称混淆了。