Redirigiendo la salida a $ null en PowerShell, pero asegurando que la variable permanezca establecida

Tengo algun codigo

$foo = someFunction

Esto genera un mensaje de advertencia que quiero redireccionar a $ null:

$foo = someFunction > $null

El problema es que cuando hago esto, mientras reprimo con éxito el mensaje de advertencia, también tiene el efecto secundario negativo de NO llenar $ foo con el resultado de la función.

¿Cómo redirecciono la advertencia a $ null, pero sigo manteniendo $ foo poblado?

Además, ¿cómo redirecciona la salida estándar y el error estándar a nulo? (En Linux, es 2 > > 1.)

Mejor respuesta
Prefiero esta forma de redirigir la salida estándar (PowerShell nativo) …

($foo = someFunction) | out-null

Pero esto también funciona:

($foo = someFunction) > $null

Para redirigir solo el error estándar después de definir $ foo con el resultado de “someFunction”, haga

($foo = someFunction) 2> $null

Esto es efectivamente lo mismo que se mencionó anteriormente.

O para redireccionar cualquier mensaje de error estándar de “someFunction” y luego definir $ foo con el resultado:

$foo = (someFunction 2> $null)

Para redirigir ambos tienes algunas opciones:

2>&1>$null
2>&1 | out-null

Por favor indique la dirección original:Redirigiendo la salida a $ null en PowerShell, pero asegurando que la variable permanezca establecida - Código de registro