powershell搜索文本,如果找到,请更新csv文件中的下一列

时间:2014-06-20 01:10:30

标签: powershell csv powershell-v2.0

我在csv文件中有一个看起来像这样的字段。       CN = TSCHA-MGMT01-V,OU =虚拟工作站,OU = Acroplis,OU = Chennai,OU = WestTLRCorp,DC = jfr,DC =域,DC = com

我想在该字段上进行搜索,如果出现了Acroplis这个词,则csv文件中的下一个字段称为Region。我想用文本EMEA填充该字段,然后将包含新数据的文件导出到新的csv文件。 CSV文件的格式为

域名:apac

cn:BJZV0053

dn:CN = BJZV0053,OU =瘦客户端,OU = BJZ,OU = GD2_9_4,OU =计算机,OU = CN,DC = apac,DC = ime,DC =域,DC = com

operatingSystem:Windows XP Professional

地区:

$vmimport = Import-Csv "c:\Scripts\06182014VirtualData.csv"

if ($vmimport.dn | Select-String -pattern "Acroplis")
    {
    $vmimport.Region = "EMEA"}

Export-Csv C:\Scripts\RegionFinal.csv

1 个答案:

答案 0 :(得分:1)

认为这就是你之后的事情:

Import-Csv "c:\Scripts\06182014VirtualData.csv" | ForEach-Object {
    if ($_.dn -like "*Acroplis*") {
        $_.Region = "EMEA"
        }
    $_ | Export-Csv "C:\Scripts\RegionFinal.csv" -NoTypeInformation -Append
    }

如果您需要不同的东西,则需要清理样本数据。例如,您的示例代码正在查看CN字段,但示例数据看起来应该使用DN字段。