Powershell 证书扩展 export-csv

Powershell Certificate Extensions export-csv

我正在尝试将证书扩展收集到一个 csv 文件中。 PowerShell 命令似乎在 PowerShell 中显示得很好,但是当通过管道传输到 csv 时,它们会显示其他类型的数据吗?

$cert = Get-ChildItem cert:\localmachine -Recurse
($cert.Extensions | Where-Object {$_.Oid.FriendlyName -eq "Key Usage"}).Format(1) | Export-Csv C:\Folder\File.csv

在网上搜索后,我尝试了一些不同的方法,但仍然无法像在 PowerShell 中那样捕获和显示数据。

$cert=Get-ChildItem cert:\localmachine -Recurse           
$sanExt=$cert.Extensions | Where-Object {$_.Oid.FriendlyName -match "subject alternative name"}            
$sanObjs = new-object -ComObject X509Enrollment.CX509ExtensionAlternativeNames            
$altNamesStr=[System.Convert]::ToBase64String($sanExt.RawData)            
$sanObjs.InitializeDecode(1, $altNamesStr)            
Foreach ($SAN in $sanObjs.AlternativeNames) {$SAN.strValue}
$sanExt.Format(1) | Export-Csv C:\Folder\File.csv

对于其他希望收集扩展字段的人,这是我的解决方案:

$cert = Get-ChildItem cert:\localmachine -Recurse
($cert.Extensions | Where-Object {$_.Oid.FriendlyName -eq "Key Usage"}).Format(1) |
Select-Object -Property @{Name="Certificate";Expression={$_}} |
Export-csv -Path C:\Folder\file.csv`