我有一个CSV文件, Devices.csv ,包含 IP地址,设备名称,序列号,MAC地址,用户名。
Devices.csv 的所有行中的用户列已预填充值[未知]
代码......
{Import-CSV Devices.csv | Where-Object {$_.IPAddress -eq '192.168.2.124'} | Select-Object -last 1 | FT IPAddress, devicveName, SerialNumber, MACAddress, User -AutoSize }
....输出
IPAddress deviceName SNumber MACAddress User
--------- ----- ------- ---------- ----
192.168.2.124 ComputerA 1ABCDEFG 00xxYYbbCCdd [Unknown]
我希望能够将[Unknown]文本替换为我从其他来源检索到的用户名。我是否可以使用powershell更新Devices.csv中此行的用户列,并保持CSV文件的其余部分完好无损?
谢谢,Brian
答案 0 :(得分:1)
试试这个:
$otheruser = '...'
Import-Csv Devides.csv | % {
if ($_.User -eq '[Unknown]') { $_.User = $otheruser }
$_
} | Export-Csv Divices_modified.csv -NoTypeInformation
答案 1 :(得分:1)
$csv = Import-CSV Devices.csv
$csv | Where-Object {$_.IPAddress -eq '192.168.2.124'} | Select-Object -Last 1 | ForEach-Object {$_.User = $user}
$csv | Export-Csv Devices.csv -NoTypeInformation