Ich führe ein PowerShell-Skript aus einer Batchdatei aus. Das Skript ruft eine Webseite ab und prüft, ob der Inhalt der Seite die Zeichenfolge "OK" ist.
Das PowerShell-Skript gibt eine Fehlerstufe an das Batch-Skript zurück.
Das Batch-Skript wird von ScriptFTP , einem FTP-Automatisierungsprogramm, ausgeführt. Wenn ein Fehler auftritt, kann ScriptFTP die vollständige Konsolenausgabe per E-Mail an den Administrator senden.
Im PowerShell-Skript möchte ich den Rückgabewert von der Website ausgeben, wenn er nicht "OK" ist, sodass die Fehlermeldung in der Konsolenausgabe und damit in der Statusmail enthalten ist.
Ich bin neu in PowerShell und nicht sicher, welche Ausgabefunktion ich dafür verwenden soll. Ich kann drei sehen:
- Write-Host
- Schreibausgabe
- Schreibfehler
Was wäre das Richtige, um in das Windows-Äquivalent von zu schreiben stdout
?
"Hello, World!" | Out-Host
.Out-Host
Auf der anderen Seite werden Objekte zur Anzeige an den PowerShell-Host gesendet, und ihre Implementierung hängt vom Host ab. Der Konsolenhost sendet sieOut-Default
tatsächlich an das Standardausgabe-Handle (das auf dem Weg durchläuft ). PowerShell ISE zeigt sie jedoch in seinem Ausgabebereich an, und andere Hosts können möglicherweise noch andere Aufgaben ausführen.