Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PowerShell搜索安装在主机上的服务器Exchange或服务器身份验证类型证书?_Powershell_Certificate_Ssl Certificate_Powershell 2.0_Certificate Store - Fatal编程技术网

如何使用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属性与证书中的另一个友好名称混淆了。