La función no se vincula cuando se usa en el Módulo
Estoy tratando de poneresta función:
function Test-Any {
[CmdletBinding()]
param($EvaluateCondition,
[Parameter(ValueFromPipeline = $true)] $ObjectToTest)
begin {
$any = $false
}
process {
if (-not $any -and (& $Evalu,ateCondition $ObjectToTest)) {
$any = $true
}
}
end {
$any
}
}
en un módulo Acabo de crear un nuevo módulo, el archivo my-scripts.psm1, que contiene solo la función anterior y lo importo conImport-Module <absolute path>
.
El problema es que si uso la función del módulo1..4 | Test-Any { $_ -gt 3 }
devuelve falso, porque$_
no se establece en el valor de la tubería.
Si defino la función normalmente en un script y la uso desde allí, funciona como se espera (con $ _ obteniendo los valores enteros asignados).
Esto sucede con PowerShell v4.0 en Windows 7.