Estoy ejecutando un script de PowerShell desde dentro de un archivo por lotes. El script recupera una página web y verifica si el contenido de la página es la cadena "OK".Cómo generar algo en PowerShell
El script de PowerShell devuelve un nivel de error al script por lotes.
La secuencia de comandos por lotes se ejecuta por ScriptFTP, un programa de automatización de FTP. Si ocurre un error, puedo hacer que ScriptFTP envíe la salida de la consola completa al administrador por correo electrónico.
En el script de PowerShell, me gustaría generar el valor de retorno desde el sitio web si no está "OK", por lo que el mensaje de error se incluye en la salida de la consola y, por lo tanto, en el correo de estado.
Soy nuevo en PowerShell y no estoy seguro de qué función de salida usar para esto. Veo tres:
- Write-Host
- Write-Output
- Write-Error
Lo que sería lo que hay que utilizar para escribir en el equivalente de Windows de stdout
?
Eso no es realmente lo que sucede. Es una expresión literal de cadena y la única cosa en su línea. Por lo tanto, es equivalente a '" ¡Hola, mundo! " | Out-Host'. 'Out-Host' por otro lado envía objetos al host de PowerShell para su visualización y su implementación depende del host. El host de la consola los envía al controlador de salida estándar (pasando a través de 'Out-Default' en el camino), de hecho. PowerShell ISE los muestra en su panel de salida, sin embargo, y otros hosts pueden hacer otras cosas completamente. – Joey
Los objetos tampoco se convierten a cadena ciegamente, sino que pasan a través de un _formatter_ que decide qué hacer con ellos. Es por eso que ve el resultado 'Get-ChildItem' en una tabla, por ejemplo, y los resultados con muchas propiedades (por ejemplo, WMI) por defecto a' Format-List' en su lugar. – Joey