Powershell 获取证书的指纹

Powershell 获取证书的指纹,powershell,certificate,Powershell,Certificate,我想将证书的指纹存储在如下变量中: $thumbprint = 0F273F77B77E8F60A8B5B7AACD032FFECEF4776D 但我的命令输出是: Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object {$_.Subject -match "XXXXX"} Thumbprint Subject ----------

我想将证书的指纹存储在如下变量中:

$thumbprint = 0F273F77B77E8F60A8B5B7AACD032FFECEF4776D
但我的命令输出是:

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

Thumbprint                                Subject 
----------                                ------- 
0F273F77B77E8F60A8B5B7AACD032FFECEF4776D  CN=XXXXXXX, OU=YYYYYYY 
我需要删除所有内容,除了输出的指纹


有什么想法吗?

您只需将命令括在括号中,然后使用点符号访问
指纹
属性

试试这个:

$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";

您可以使用
选择对象
仅获取
指纹
-属性:

Get-ChildItem -Path Cert:\LocalMachine\My | 
    Where-Object {$_.Subject -match "XXXXXXX"} | 
    Select-Object -ExpandProperty Thumbprint
因为您使用的是
$。
您应该使用
$。
指纹

Get-ChildItem -Path Cert:\LocalMachine\My |  Where-Object {$_.Thumbprint -match "0F273F77B77E8F60A8B5B7AACD032FFECEF4776D"}

在运行此命令后填充变量$Thumbprint后 -->
$Thumbprint=Get ChildItem-Path Cert:\LocalMachine\My | Where Object{$\.Subject-match“XXXXXXX”}

您可以在变量$thumbprint之后使用点符号访问指纹,如下所示 -->
$Thumbprint.Thumbprint

这样,您还可以访问证书的主题 -->
$Thumbprint.Subject

在这种情况下,重命名变量更有意义。:)

Get-ChildItem -Path Cert:\LocalMachine\My |  Where-Object {$_.Thumbprint -match "0F273F77B77E8F60A8B5B7AACD032FFECEF4776D"}