Powershell:导入 CSV,然后再导出
Powershell: Import CSV and then export it afterwards
首先我要感谢你帮助我或者至少阅读我的 post
我有一个 CSV 文件名作为具有两个值的用户
firstname,lastname
John,Doe
Jane,Doa
我想使用这些值并用它创建许多值,然后将其导出到另一个 CSV
这是代码
$users = Import-Csv C:\Temp\users.csv
foreach ($user in $users) {
$firstname = $user.firstname
$lastname = $user.lastname
$username = ($firstname.ToLower()+"."+$lastname.ToLower()) -replace '\s',''
$email = $username+"@email.com"
$Location = "Paris"
$ou = "OU=Users,OU=ORG,DC=test,DC=local"
Select-Object $firstname,$lastname,$username,$email,$Location,$ou | export-csv C:\Temp\userstest.csv
}
此代码的问题是:我得到一个空的 CSV 作为导出
非常感谢
您正在重新导出包含每一行的 csv,这是导致您出现问题的原因。
相反,让我们改变命令的顺序并使它起作用。此外,您可以使用计算属性来缩短它,就像这样。
$users = Import-Csv C:\Temp\users.csv
$Users | Select firstname, lastname,`
@{l='username';exp={($_.firstname.ToLower()+"."+$_.lastname.ToLower()) -replace '\s',''}},`
@{l='email';exp={"$($($_.firstname.ToLower()+"."+$_.lastname.ToLower()) -replace '\s','')@email.com"}},@{l="Location";exp={"Paris"}}, `
{l='ou';exp={"OU=Users,OU=ORG,DC=test,DC=local"}} | export-csv c:\temp\some.csv
在我的 PC 上测试过,它工作得很好!
首先我要感谢你帮助我或者至少阅读我的 post
我有一个 CSV 文件名作为具有两个值的用户
firstname,lastname
John,Doe
Jane,Doa
我想使用这些值并用它创建许多值,然后将其导出到另一个 CSV
这是代码
$users = Import-Csv C:\Temp\users.csv
foreach ($user in $users) {
$firstname = $user.firstname
$lastname = $user.lastname
$username = ($firstname.ToLower()+"."+$lastname.ToLower()) -replace '\s',''
$email = $username+"@email.com"
$Location = "Paris"
$ou = "OU=Users,OU=ORG,DC=test,DC=local"
Select-Object $firstname,$lastname,$username,$email,$Location,$ou | export-csv C:\Temp\userstest.csv
}
此代码的问题是:我得到一个空的 CSV 作为导出
非常感谢
您正在重新导出包含每一行的 csv,这是导致您出现问题的原因。
相反,让我们改变命令的顺序并使它起作用。此外,您可以使用计算属性来缩短它,就像这样。
$users = Import-Csv C:\Temp\users.csv
$Users | Select firstname, lastname,`
@{l='username';exp={($_.firstname.ToLower()+"."+$_.lastname.ToLower()) -replace '\s',''}},`
@{l='email';exp={"$($($_.firstname.ToLower()+"."+$_.lastname.ToLower()) -replace '\s','')@email.com"}},@{l="Location";exp={"Paris"}}, `
{l='ou';exp={"OU=Users,OU=ORG,DC=test,DC=local"}} | export-csv c:\temp\some.csv
在我的 PC 上测试过,它工作得很好!