首页 > 解决方案 > 如何向下而不是跨导出csv

问题描述

我有一个简单地将 SPF、DKIM 和 DMARC 记录拉到文件和控制台的功能。

Name          : Domain.com
SpfRecord     : v=spf1 ip4:?.1?.??.153 include: <Etc?>
SpfAdvisory   : An SPF-record
DmarcRecord   : v=DMARC1; 
DmarcAdvisory : Domain has a valid DMARC record.
DkimRecord    : <Etc>
DkimSelector  : <Etc>
DkimAdvisory  : <Etc>

当我$InvokeReturnValues | Export-Csv 'C:\Reports\SPFetc.csv' -NoTypeInformation 在列中从左到右跨 csv 导出信息。我怎样才能改变它,以便像上面那样导出信息?

标签: powershell

解决方案


由于您实际上并不想要CSV 文件,因此不要使用Export-Csv.

Out-File或者Set-Content会做得很好:

$InvokeReturnValues |Format-List |Out-File

根据输入数据类型,Format-List可能不是明确需要的 - 在这种情况下,如果您有一组具有超过 4 个属性的自定义对象,PowerShell 将自动使用列表视图对其进行格式化。


如果您正在考虑将数据用于进一步自动化 - 例如两个数据版本的自动差异 - 您可能希望坚持使用 CSV。

您始终可以通过简单地再次导入数据来在控制台中重新创建列表视图:

$oldData = Import-Csv path\to\SPFetc.csv
$oldData |Format-List

推荐阅读