1

我正在尝试从LocalMachine\My用于服务器交换或身份验证的计算机证书存储中选择一个证书(我不确定确切的命名)。我知道有过滤器只返回某种类型的证书,例如:

    PS> Get-ChildItem Cert:\LocalMachine\My -codesigning

我想要做的是:

    PS> Get-ChildItem Cert:\LocalMachine\My -exchange

哪个失败了PowerShell

如果不存在这样的过滤器关键字,是否可以冒险尝试一种方法,或者至少如何去做?

4

2 回答 2

1

要获取具有服务器身份验证的证书列表,您可以按增强的密钥使用属性进行过滤:

dir cert:\localmachine\my | ? {
    $_.Extensions | % { 
        $_.EnhancedKeyUsages | ? {
            $_.FriendlyName -eq "Server Authentication"}}}
于 2012-03-22T22:03:46.440 回答
0

您可以通过这种方式读取每个证书属性:

Get-ChildItem Cert:\LocalMachine\My | fl *

然后您可以按属性过滤,在这种情况下按发行人名称过滤:

Get-ChildItem Cert:\LocalMachine\My | where-object { $_.issuer -match "servername" }
于 2012-03-22T20:16:28.190 回答