-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