如何从% 1发送某些数据,csv文件到另一个与powershell

lg40wkob  于 2023-04-30  发布在  Shell
关注(0)|答案(1)|浏览(115)

使用PowerShell,我需要从a获取数据。csv文件和过滤器,然后将其写入另一个。csv文件,供其他脚本使用。情景:第一。csv有两列“PSComuternname”和“BuildNumber”。我只需要将与某个“”BuildNumber不匹配的“PScomputername”发送给另一个。我现在得到的是“PScomputername”,但它得到了所有这些,忽略了if语句。

$computers = Import-csv "c:\scripts\os.csv"

    
    foreach ($computer in $computers){
      
      if ($computers.BuildNumber -ne ("19045"))
      
      {
      }
      }
    $computers.PSComputerName | Out-file "c:\scripts\noncompliant.csv"
mwkjh3gx

mwkjh3gx1#

使用where-object过滤import-csv的输出,然后使用export-csv导出为csv文件。通过沿着管道传递对象,在一行中完成所有操作:

import-csv .\os.csv | Where-Object {$_.BuildNumber -ne "19045"} | Export-Csv -Path noncompliant.csv

**编辑:**只输出计算机名列表到文件中

为了只输出计算机名,请使用Select-Object(使用-ExpandProperty,这样您就不会得到字段的名称),而不要使用Export-Csv

import-csv .\os.csv | Where-Object {$_.BuildNumber -ne "19045"} | Select-Object -ExpandProperty PScomputername | out-file .\noncompliant.csv

相关问题