7

結果を csv ファイルに出力しようとすると、常に「空のパイプ要素は許可されていません」というエラー メッセージが表示されます。なぜこれが起こっているのでしょうか?

$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

私はこれをやってみました:

$results | Export-csv "results.csv" -NoTypeInformation

foreach ループ内ですが、最後のレコードのみが返されます。

4

4 に答える 4

17

foreach ループはパイプラインに出力されません。ループをサブ式にすることで、それを行うことができます。

$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
于 2013-10-29T10:43:49.563 に答える