私はこの機能を入れようとしています:
function Test-Any {
[CmdletBinding()]
param($EvaluateCondition,
[Parameter(ValueFromPipeline = $true)] $ObjectToTest)
begin {
$any = $false
}
process {
if (-not $any -and (& $EvaluateCondition $ObjectToTest)) {
$any = $true
}
}
end {
$any
}
}
モジュールに。上記の関数だけを含む新しいモジュール my-scripts.psm1 ファイルを作成し、Import-Module <absolute path>
.
問題は、モジュールからの関数を使用すると、パイプからの値に設定されていない1..4 | Test-Any { $_ -gt 3 }
ため、false が返されることです。$_
関数をスクリプトで通常どおり定義し、そこから使用すると、期待どおりに機能します ($_ に整数値が割り当てられます)。
これは、Windows 7 の PowerShell v4.0 で発生します。