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"}