Получить отпечаток сертификата

Я хочу сохранить отпечаток сертификата в такой переменной:

$thumbprint = 0F273F77B77E8F60A8B5B7AACD032FFECEF4776D

но вывод моей команды:

Get-ChildItem -Path Cert:LocalMachineMy | Where-Object {$_.Subject -match "XXXXXXX"} 

Thumbprint                                Subject                                                                                                                     
----------                                -------                                                                                                                     
0F273F77B77E8F60A8B5B7AACD032FFECEF4776D  CN=XXXXXXX, OU=YYYYYYY 

мне нужно удалить все, кроме отпечатка, что выход

есть идеи?

2 ответов


все, что вам нужно сделать, это обернуть команду в круглые скобки, а затем использовать точечную нотацию для доступа к 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";

можно использовать Select-Object до Thumbprint-недвижимость:

Get-ChildItem -Path Cert:\LocalMachine\My | 
    Where-Object {$_.Subject -match "XXXXXXX"} | 
    Select-Object -ExpandProperty Thumbprint