来自证书库的Powershell Select-object

时间:2014-02-04 11:34:10

标签: powershell certificate powershell-v2.0

基本上我试图通过使用主题获取证书的序列号,以便我可以在CertUtil中的变量中使用它。

我如此接近,你可以看到以下任何人可以帮忙吗?

cd cert:\localmachine\my

$serno = get-childitem | where { $_.subject -eq "XXXXXXXXXXXXXXXX" } | format-list     -property * | select -property SerialNumber

$serno

显示

SerialNumber        
------------ 

不是实际的序列号

有人有任何线索吗?

1 个答案:

答案 0 :(得分:7)

不要使用format-list,您已拥有所有属性。 format-list会将您的好X509Certificate2对象转换为一组格式对象,而这些对象根本不是您想要的。也可以在-expandproperty上使用select

PS>get-childitem | where { $_.subject -eq "CN=localhost" } | select -expandproperty SerialNumber
6191F4A438FF77A24763E6D427749CD7

或者使用Powershell 3或更高版本,请使用简写符号:

PS>$serno = (get-childitem | where { $_.subject -eq "CN=localhost" }).SerialNumber
PS>$serno
6191F4A438FF77A24763E6D427749CD7