gpt4 book ai didi

powershell - 不允许使用空管道元素

转载 作者:行者123 更新时间:2023-12-03 00:47:12 40 4
gpt4 key购买 nike

我了解在使用foreach循环或使用Write-Output而不是Write-Host时如何使其成为子表达式。但是什么都没有用。我必须Export-Csv下面的输出。

foreach ($i in $a) {
Write-Host $i (Get-Mailbox -Database $i -ResultSize Unlimited).Count
} | Export-Csv "c\users\...\test.csv" -NoTypeInformation

要么,
$a | ForEach-Object {
Write-Host $_ (Get-Mailbox -Database $_ -ResultSize Unlimited).Count
} | Export-Csv "c\users\...\test.csv" -NoTypeInformation

最佳答案

您看到错误“不允许使用空管道”,因为foreach ($x in $y)语句不输出管道。当您需要使用管道输出时,请改用cmdlet版本$y | Foreach-Object

第二个问题是您的代码没有向管道输出任何内容。 Write-Host将输出直接发送到控制台,而忽略管道。要输出到管道,请使用Write-Output,或仅将对象用作语句,PowerShell将隐式调用Write-Output

目前尚不清楚您希望在CSV文件中看到什么,但是以下代码将使用PSCustomObject输出带有两列的CSV。第一个是$a的元素,第二个是get-mailbox调用的计数。请注意,为了便于阅读,将其分成多行。

$a | foreach-object {
[PSCustomObject]@{
first=$_
second=(get-mailbox -database $_ -resultsize unlimited).count
}
} | export-csv "c\users\...\test.csv" -notypeinformation

关于powershell - 不允许使用空管道元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41531196/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com