每当我尝试将结果导出到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
Run Code Online (Sandbox Code Playgroud)
我试过这样做:
$results | Export-csv "results.csv" -NoTypeInformation
Run Code Online (Sandbox Code Playgroud)
在foreach循环中但它只返回最后一条记录.
mjo*_*nor 10
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
Run Code Online (Sandbox Code Playgroud)
我相信你遇到的问题是使用foreach和管道,你在foreach语句中处理你的项目,但仍然期望它们在管道上.
这是一个常见错误,并在文章Essential PowerShell:Understanding foreach和Essential PowerShell:Understanding foreach(Addendum)中有更详细的解释.
你应该能够达到你想要的效果:
$apps = Import-CSV apps.csv
$computers = Import-CSV compobj.csv
$computers | foreach {
$computer = $_
$computerLob = $computer.lob
$lobApps = $apps | ? {$_.lob -eq $computerLob}
$lobApps | foreach {
$app = $_
$appLocation = $app.location
$installed=Test-Path "\\$computerHostname\$appLocation"
$computerHostname = $computer.hostname
new-object psobject -property @{Computer=$computer.hostname;App=$app.appname;Installed=$installed}
}
} | Export-csv "results.csv" -NoTypeInformation
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22517 次 |
| 最近记录: |