如何解决Powershell 数组到 csv
我对 powershell 很陌生,我无法弄清楚如何将我的数组放入 csv 文件中,其中每个字符串都进入一个新行。下面是一些示例代码。
$ServerList = "E:\Coding Projects\Powershell\ServerNameList.txt"
$ServerNames = Get-content $ServerList
write-host $ServerNames
$OutputPath = "E:\Coding Projects\Powershell\Output.csv"
$Names = @()
$Outcome = @()
foreach ($Server in $ServerNames){
$Names += $Server
if ($Server -match "Joe"){
$Outcome += "pass"
}else{
$Outcome += "Fail"
}
}
$Names
$Outcome
$csv = New-object psobject -property @{
'User' = $Names -join ','
'Groups' = $Outcome -join ','
}
write-host $csv
$csv | Select-Object -property User,Groups | Export-csv -path $OutputPath -NoTypeinformation
当我检查 csv 文件时,所有输出都出现在一行上,而不是在其特定列中向下迭代。 任何帮助都会非常有用和赞赏
解决方法
现在您正在创建 2 个单独的字符串值数组 - 相反,您需要创建一个具有两个属性的对象数组:
$ServerList = "E:\Coding Projects\Powershell\ServerNameList.txt"
$ServerNames = Get-content $ServerList
write-host $ServerNames
$OutputPath = "E:\Coding Projects\Powershell\Output.csv"
$serversWithOutcome = @()
foreach ($Server in $ServerNames){
$serversWithOutcome += [pscustomobject]@{
User = $Server
Groups = $Server -match "Joe"
}
}
$serversWithOutcome | Export-csv -path $OutputPath -NoTypeInformation
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。