【发布时间】:2015-10-22 13:40:47
【问题描述】:
我正在尝试编写一个脚本,该脚本将读取通过向 AD 查询用户信息而生成的 CSV(该部分已完成),但随后将允许我在CSV 文件,然后将其导出。
例如,我们有这个 CSV 文件:
“显示名称”、“办公室”
鲍勃,7142
珍妮特,8923
圣诞老人,0912
NicCage,0823
我想获取“Office”的每个条目,在其前面添加字符串“BUG”,然后将其导出。修改后的 CSV 应如下所示:
“显示名称”、“办公室”
鲍勃,BUG7142
珍妮特,BUG8923
圣诞老人,BUG0912
NicCage,BUG0823
此时,我一直在尝试仅读取“Office”列,然后使用“Write-Host”显示它。这个想法是,如果我能做到这一点,那么也许我可以创建一个新变量,类似于:
$BUG = "BUG"
$NewVar = $BUG$Office
希望它看起来像第二个 CSV 文件。我对 powershell 脚本非常陌生。
到目前为止,我所做的尝试如下:
尝试 #1:
$UserList = Import-CSV C:\Users\username\CSV.csv
$UserList | ForEach-Object ($_.Office) { $UserList }
尝试 #2:
$projectName = import-csv C:\Users\username\CSV.csv | % {$_.Office}
$BUG = "BUG"
$projectName | ForEach-Object ($_) {$projectName}
尝试 #3:
$UserList = Import-CSV C:\Users\username\CSV.csv
#ForEach ($Office in $Userlist) {
#Write-Host $UserList.Office
#}
尝试 #4:
Import-Csv "C:\Users\username\CSV.csv" -Header ("displayname","Office","whenCreated","EmailAddress") | Select-Object Office | Export-CSV -Path C:\users\Username\test.csv
在使用 ForEach-Object 循环结构之前,我已经让它只读出办公室号码,但是它永远不会停止读出办公室号码,所以这没有帮助。
我认为我的方向是正确的,但我就是不知道如何修改这样的列。
【问题讨论】:
标签: csv powershell