Cómo convertir la salida de un comando PowerShell a texto
En algunas ocasiones queremos hacer búsquedas sobre lo que devuelve un comando PowerShell.
El inconveniente es que en Powershell, todo lo que se devuelve, es un objeto.
No es por tanto trivial hacer búsquedas con herramientas tipo grep.
A menos que la salida se convierta a texto, claro…
La solución sencilla y sin complicaciones es utilizar out-string para convertir la salida del comando powershell a texto, y concatenarlo con el comando findstr para realizar la búsqueda de la cadena específica en la que estemos interesados.
A continuación un ejemplo
Get-AzVirtualNetworkPeering -Name “TONORTH” -VirtualNetworkName “SOUTHEUROPEVNET” -ResourceGroupName “SouthEurope” | out-string | findstr
“PeeringState” PeeringState : Connected
El ejemplo anterior utiliza el comando Get-AzVirtualNetworkPeering para obtener el estado del peering denominado “TONORTH” y sacar solo la cadena relacionada con el PeeringState