-1
我试图将证书扩展收集到csv中。 PowerShell命令似乎在PowerShell中显示得很好,但是当连接到csv时,它们显示其他类型的数据?Powershell证书扩展export-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
PowerShell中的证书对象包含几个嵌套的对象和数组。因此,它们不适合简单地管道传输到CSV文件。如果要保留所有信息,导出到支持此类结构的JSON或XML将是更好的选择。你试图导出什么属性? – TheMadTechnician
感谢您的时间TheMadTechnician,这是我的情况不幸。我试图收集安装在LocalMachine商店中的每个CA的所有X.509扩展。虽然我不熟悉导出为JSON或XML,但您是否有我可以参考的示例? – wieljer
导出为JSON非常简单:'$ cert | ConvertTo-JSON |设置内容C:\路径\到\ File.txt'我认为一个更好的问题将是保存这一切到文件的原因。这是为了人类的眼睛,还是在某些时候会被脚本/应用程序消化? – TheMadTechnician