导出具有多个字段值表达式的CSV?

时间:2015-11-02 20:40:16

标签: powershell export-to-csv

我正在尝试将所有字段 - 值对都放到同一个CSV中。

单独工作

$cert = Get-ChildItem cert:\localmachine -Recurse

($cert.Extensions | Where-Object {$_.Oid.FriendlyName -eq "Key Usage"}).Format(0) |
  Select-Object -Property @{Name="Key Usage";Expression={$_}} |
  Export-csv -Path .\KeyUsage.csv

($cert.Extensions | Where-Object {$_.Oid.FriendlyName -eq "Basic Constraints"}).Format(0) |
  Select-Object -Property @{Name="basic constraints";Expression={$_}} |
  Export-csv -Path .\BasicConstraints.csv

不起作用

$cert = Get-ChildItem cert:\localmachine -Recurse

($cert.Extensions | Where-Object {$_.Oid.FriendlyName -eq "Key Usage"}).Format(0) |
  Select-Object -Property @{Name="Key Usage";Expression={$_}},
($cert.Extensions | Where-Object {$_.Oid.FriendlyName -eq "Basic Constraints"}).Format(0) |
  Select-Object - Property @{Name="basic constraints";Expression={$_}} |
Export-csv -Path .\File.csv

也许我需要检查字段值是否为空,但如何在“表达式”中检查?看起来我不能使用if(!$_){}else{}来写一些零值。

1 个答案:

答案 0 :(得分:0)

我想为其他人发布最终决议。通过Microsoft PowerShell社区,我得到了一个帮助我解决问题的响应 -

Get-ChildItem cert:\localmachine -Recurse |
Select-Object
@{N="Key_Usage";E={($_.Extensions | Where-Object {$_.Oid.FriendlyName -eq "Key Usage"}).Format(0)}},
@{N="Basic_Constraints";E={($_.Extensions | Where-Object {$_.Oid.FriendlyName -eq "Basic Constraints"}).Format(0)}} |
Export-Csv .\File.csv -notype