我有3种CSv文件。
我想在第一个列中找到一个单词,然后在列3中更改同一行的数据
我已经尝试过使用Where-Object {$ _。distinguishedName -like“ Jule ”},我可以更改第3行(givenName)中的数据,但文件中的其余部分将丢失。
DistinguishedName Enabled GivenName
----------------- ------- ---------
CN=Jule lacroix,CN=Users,DC=test,DC=com True 01000000d0
CN=Marc la,CN=Users,DC=test,DC=com False Martin
答案 0 :(得分:1)
一种方法是使用foreach
循环遍历数据。然后对符合条件的每一行进行更改:
$CSVData = Import-Csv -Path File.csv
foreach ($row in $CSVData) {
if ($row.DistinguishedName -like "*Jule*") {
$row.GivenName = "New Name"
}
}
$CSVData # Will contain the updated data
答案 1 :(得分:0)
两个小时以来我一直在寻找并且找到了解决方法
我在另一个论坛上找到了此解决方案,谢谢您 cduff
$csv = Import-Csv C:\Users\jule\Documents\test\save.csv
$modified = ForEach ($user in $csv) {
If($user.distinguishedName -like "*s*") {
#New-ADUser
$user.GivenName = 'lokil'
}
$user
}
$modified
有人可以在}}之间解释$ user的实用程序?
谢谢