【发布时间】:2026-01-01 14:25:01
【问题描述】:
我有两个 CSV 文件,并且都有一个公共列,即 EmailAddress 标题。 powershell 脚本应该将电话号码从一个 csv 复制到另一个电子邮件地址匹配的地方。
第一个 CSV 文件 users.csv 是一个 Get-ADUser csv 导出文件,具有以下标题:
"SamAccountName";"DisplayName";"Surname";"GivenName";"telephoneNumber";"EmailAddress"
第二个 CSV 文件是我们地址簿的导出文件,具有以下标题:
"RoomNr";"Name";"TelNr";"Cordless";"Fax";"Department";"Title";"EmailAddress"
我的目标是将“TelNr”复制到 users.csv,其中“EmailAddress”的值相等。
我的想法是这样的:
$users = Import-Csv -Path C:\users.csv -Delimiter ";"
$addressbook = Import-Csv -Path C:\addressbook.csv -Delimiter ";"
foreach ($record in $users) {
$mail = $record.EmailAddress
$match = $addressbook | Where-Object {$_.EmailAddress -like $mail}
$record.telephoneNumber = $match.TelNr
}
但它根本不起作用。文件中没有写入任何内容。知道我哪里出错了吗?
【问题讨论】:
标签: powershell csv