我需要获取具有特定哈希算法的所有证书的列表。
首先,我尝试按如下方式检索SignatureAlgorithm:
Get-ChildItem -Recurse | select thumbprint, subject, SignatureAlgorithm
这给了我System.Security.Cryptography.Oid
作为SignatureAlgorithm
列
我尝试使用FriendlyName
Get-ChildItem -Recurse | select thumbprint, subject, SignatureAlgorithm.FriendlyName
但上面的空格为SignatureAlgorithm
如何检索SignatureAlgorithm
的可读值?此外,如何使用SHA1
选择所有Powershell
证书?
答案 0 :(得分:5)
Select-Object
期望显示属性的名称(因为您没有指定参数,所以您使用的是第1个pos。-Property
)。没有名为SignatureAlgorithm.FriendlyName
的属性。
如果使用计算属性,则可以设计自己的属性,其值为对象FriendlyName
- 属性中的属性SignatureAlgorithm
。例如:
Get-ChildItem -Recurse | select thumbprint, subject, @{n="SignatureAlgorithm";e={$_.SignatureAlgorithm.FriendlyName}}
(n
是name
的缩写(也可以使用l or label
),e
是expression
的缩写