我想将证书的指纹存储在如下变量中:
$thumbprint = 0F273F77B77E8F60A8B5B7AACD032FFECEF4776D但是我的命令输出是:
Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object {$_.Subject -match "XXXXX"}
Thumbprint Subject
---------- -------
0F273F77B77E8F60A8B5B7AACD032FFECEF4776D CN=XXXXXXX, OU=YYYYYYY 我需要移除输出的指纹以外的所有东西。
有什么想法吗?
发布于 2014-03-14 14:44:01
您所要做的就是将命令包装在括号中,然后使用点表示法访问Thumbprint属性。
试试这个:
$Thumbprint = (Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object {$_.Subject -match "XXXXXXX"}).Thumbprint;
Write-Host -Object "My thumbprint is: $Thumbprint";如果您从命令中获得多个证书,那么您将不得不将拇指指纹连接到一个字符串中,也许可以使用-join PowerShell操作符。
$Thumbprint = (Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object {$_.Subject -match "XXXXXXX"}).Thumbprint -join ';';
Write-Host -Object "My thumbprints are: $Thumbprint";发布于 2018-06-18 09:04:46
您可以使用Select-Object只获取Thumbprint-property:
Get-ChildItem -Path Cert:\LocalMachine\My |
Where-Object {$_.Subject -match "XXXXXXX"} |
Select-Object -ExpandProperty Thumbprint发布于 2019-07-24 07:29:54
Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object {$_.Subject -match "XXXXXXX"} 这个永远不能工作,因为你在使用$_.subject,你应该使用$_.thumbprint
Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object {$_.Thumbprint -match "0F273F77B77E8F60A8B5B7AACD032FFECEF4776D"}https://stackoverflow.com/questions/22408150
复制相似问题