2013-12-09 154 views
2

我有一個CSV文件,Devices.csv,包含IP地址,設備名稱,序列號,MAC地址,用戶名用Powershell修改CSV內容

用戶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] 

我希望能夠用我從檢索到的用戶名替換[未知]文本不同的來源。我是否可以使用powershell更新Devices.csv中此行上的用戶列,並保持CSV文件的其餘部分保持不變?

感謝布

回答

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 
+0

吉文,正是我想要的,感謝布賴恩 – user3082478

1

試試這個:

$otheruser = '...' 

Import-Csv Devides.csv | % { 
    if ($_.User -eq '[Unknown]') { $_.User = $otheruser } 
    $_ 
} | Export-Csv Divices_modified.csv -NoTypeInformation