奇怪的是,使用Powershell检索机器上的所有证书

时间:2016-09-08 14:11:49

标签: powershell

我使用以下内容检索当前用户存储中的所有证书:

$certs = Get-ChildItem Cert:\LocalMachine\My\

但我需要的是检索服务器上的所有证书,无论是我的还是其他用户。我怎么能这样做?

我试过了:

Get-ChildItem -Recurse | select thumbprint, subject, @{n="SignatureAlgorithm";e={$_.SignatureAlgorithm.FriendlyName}}

直接在Powershell中,它返回了一长串证书,但是当我在powershell文件中尝试相同时:

$certs=Get-ChildItem -Recurse | select thumbprint, subject, @{n="SignatureAlgorithm";e={$_.SignatureAlgorithm.FriendlyName}}

每台服务器都有两条记录,所有记录都是空白的。例如,如果我

foreach ($cert in $certs) {
    Write-Host $cert.Subject
}

我变得空白。但如果我Write-Host $certs.Count,我会2

1 个答案:

答案 0 :(得分:0)

首先,您需要为Get-ChildItem提供参数Cert:\LocalMachine,之后我认为您有一个拼写错误 - 您将结果分配给$certs变量,但检查{{1}上的主题}}。这对我有用:

$cert