결과를 CSV 파일로 파이프하려고 할 때마다 rollowing 오류 메시지가 계속 나타납니다. "빈 파이프 요소가 허용되지 않습니다." 왜 이런 일이 일어날 지 모릅니다. foreach는 루프 내에서Powershell - 빈 파이프 요소가 허용되지 않습니다.
$results | Export-csv "results.csv" -NoTypeInformation
하지만 그것은 단지 마지막 레코드를 반환
$apps = Import-CSV apps.csv
$computers = Import-CSV compobj.csv
foreach($computer in $computers) {
$computerLob = $computer.lob
$lobApps = $apps | ? {$_.lob -eq $computerLob}
foreach($app in $lobApps){
$appLocation = $app.location
$installed=Test-Path "\\$computerHostname\$appLocation"
$computerHostname = $computer.hostname
$results = new-object psobject -property @{Computer=$computer.hostname;App=$app.appname;Installed=$installed} | select Computer,App,Installed
$results
}
} | Export-csv "results.csv" -NoTypeInformation
나는이 일을 시도했습니다.
'Export-csv' 객체 하나를 한번에 수행하려면'-Append' 스위치를 추가해야합니다. 이렇게하면 어떤 데이터가 문제를 일으키는 지 확인할 수 있습니다. 추신. 왜 새로운'PSObject'에서'select'를 사용하고 있습니까? 그것은 순환을 낭비하는 것입니다. – Richard
@ 리차드 답장을 보내 주셔서 감사합니다. 이 일을 어떻게 할 것인지 나에게 보여줄 수 있니? 또한 사이클을 낭비하는 이유는 무엇입니까? 환호 – theshizy
다시. 내 PS : 그냥'New-Object PSObject ... '의 결과를 사용하면'Select'를 수행 할 필요가 없습니다 (그냥 명명 된 속성을 가진 새로운 PSObject를 생성합니다 ... 이것은'New-Object' 그냥 했어). – Richard