添加一列数据进行查询

时间:2018-01-04 21:34:07

标签: powershell csv

我需要在此输出中添加一个名为“Location”的附加列,其中每行数据都包含单词“Varonis”。

$fs | ForEach-Object {
    $machine = $_.ServerName
    $_.Volumes | Select-Object @{n='machine';e={$machine}}, Share, FileWalkMethod
} | Export-Csv D:\data\splunk\otl_varonis\otl_varonis_monitoring.csv -NoType

当前输出:

"hmanas01n","E$","VaronisWindows"

期望的输出:

"hmanas01n","E$","VaronisWindows", "Varonis"

1 个答案:

答案 0 :(得分:2)

基本上这是一个如何将自定义字段添加到现有对象(即数据)的问题......

在您给出的代码示例中,输出列由以下命令定义:

Select-Object @{n='machine';e={$machine}}, Share, FileWalkMethod

这有效地将数据过滤为共享 FileWalkMethod 属性,以及添加名为计算机的新列。 计算机列定义了两个键值对: n (或名称/标签)是列标题, e (或表达式)是一些设置该列值的代码;在这种情况下,无论 $ machine 变量设置为。

您需要复制添加计算机列的相同机制,方法是将其添加到Select-Object语句的末尾,其中表达式只是一个静态值:

@{n="Location";e={"Varonis"}}