我想知道如何获取本地计算机SSL证书Issued to
字段值。我使用此命令显示了所有SSL证书信息,但没有显示Issued To
字段
GET-CHILDITEM -Path 'Cert:\LocalMachine\' –RECURSE | FORMAT-LIST –PROPERTY *
答案 0 :(得分:0)
这能回答您的问题吗?
gci Cert:\LocalMachine\my| select -expandp dnsnamelist
享受-tom
答案 1 :(得分:0)
使用主题属性。
select sum(t1.stock_value_current) - sum(t2.stock_value_current)
from MyTable t1
left join MyTable t2
on t2.[year-month] = dateadd(mm,-1,t1.[year-month])
where t1.[year-month] = @MyDateParameter
答案 2 :(得分:0)
IssuedTo
字段似乎是certmgr.msc
基于Subject
字段动态生成的。
根据我在计算机上安装的证书获得的最接近的信息是:
$CertsDetail = Get-ChildItem -Path 'Cert:\LocalMachine\' –Recurse
$CertsDetail | select @{n="IssuedTo";e={(($_.Subject -split ",") |? {$_ -like "CN=*"}) -replace "CN="}}
我所做的是使用计算所得的属性在CN=
中首先找到Subject
部分,然后删除该CN=
部分。确保不会涵盖所有可能的情况,但您可以将其用作起点。
答案 3 :(得分:0)
您可以尝试从Issuer
字段中解析它们:
Get-ChildItem -Path 'Cert:\LocalMachine\' -Recurse | #'# dummy comment to correct code-highlighting in SO
Where-Object { !$_.PsIsContainer } |
ForEach-Object {
# get at most two parts out of the $_.Issuer string
$issuer = '{0}, {1}' -f ([regex] 'O=([^,]+)').Match($_.Issuer).Groups[1].Value,
([regex] 'CN=([^,]+)').Match($_.Issuer).Groups[1].Value
[PSCustomObject]@{
FriendlyName = $_.FriendlyName
Issuer = $issuer.Trim(', "')
Subject = $_.Subject
}
} | Format-List
在我的机器上,它返回如下内容:
FriendlyName : Sectigo Issuer : The USERTRUST Network, USERTrust RSA Certification Authority Subject : CN=USERTrust RSA Certification Authority, O=The USERTRUST Network, L=Jersey City, S=New Jersey, C=US FriendlyName : Go Daddy Class 2 Certification Authority Issuer : The Go Daddy Group Subject : OU=Go Daddy Class 2 Certification Authority, O="The Go Daddy Group, Inc.", C=US FriendlyName : VeriSign Issuer : VeriSign Subject : OU=VeriSign Commercial Software Publishers CA, O="VeriSign, Inc.", L=Internet