MESSAGE & Powershell

15. Mai 2018 18:10

Hallo zusammen,

wir haben eine kleine codeunit geschrieben in der per MESSAGE ein string ausgegeben wird. Diese codeunit wird per Invoke-NAVCodeunit in der powershell gestartet, folglich erscheint auch hier die Meldung. Nur leider steht vor jeder Ausgabe "WARNUNG:"

Kann man diesen Prefix abschalten oder wenigstens den Text beeinflussen? Denn "WARNUNG: Buchung erfolgreich" sieht komisch aus.

Danke

Joscho

Re: MESSAGE & Powershell

15. Mai 2018 21:38

Hallo Joscho,

probier mal das hier https://blogs.technet.microsoft.com/petergu/2015/05/15/powershell-verbose-preference/

Vermutlich hilft dir das hier am ehesten.
$VerbosePreference="SilentlyContinue"

Evtl. kannst du auch alles unterdrücken kurz vor dem Invoke-Codeunit und danach die $VerbosePreference wieder zurücksetzen um das Powershell ggf. debuggen zu können etc.

Zumindest nehme ich gerade an das die Warnung vom Powershell kommt.

Re: MESSAGE & Powershell

16. Mai 2018 08:04

Du könntest dir den Rückgabewert in eine Variable schreiben, den Text dort ersetzen und dann erst ausgeben.

Re: MESSAGE & Powershell

16. Mai 2018 11:44

Hallo

die $VerbosePreference steht bereits auf "SilentlyContinue", das ist es also nicht.

Die Idee, Rückgabewert in eine Variable schreiben... verstehe ich nicht. Wenn in der codeunit einfach nur MESSAGE ('Hallo') steht, kommt in powershell die Ausgabezeile WARNUNG: Hallo.

Re: MESSAGE & Powershell

16. Mai 2018 14:35

Du packst den Aufruf in ein Powershell-Script und fängst dir die Ausgabe.
Du könntest auch mal versuchen ob OutBuffer oder OutVariable funktioniert (https://msdn.microsoft.com/en-us/librar ... 44(v=vs.85).aspx)
Verbose kannst du über die Common Parameter auch mitgeben.

Re: MESSAGE & Powershell

16. Mai 2018 14:44

MarkusWeiland hat geschrieben:(https://msdn.microsoft.com/en-us/librar ... 44(v=vs.85).aspx)

Links mit Sonderzeichen bitte mit URL-Tags versehen.
https://msdn.microsoft.com/en-us/library/dd901844(v=vs.85).aspx

Re: MESSAGE & Powershell

17. Mai 2018 11:42

Die scheinen ein ähnliches Problem zu haben in diesem Thread und haben es wohl wie MarkusWeilands Vorschlag gelöst.

https://stackoverflow.com/questions/7392943/powershell-2-unable-to-suppress-warning-message

I've been trying to suppress the warning messages when stopping a service:
WARNING: Waiting for service 'Service Description' to finish stopping...

The following worked for me:
Stop-Service $svc.Name -WarningAction SilentlyContinue

Re: MESSAGE & Powershell

17. Mai 2018 13:03

Vielen Dank für die Antworten.

Aber die zielen darauf ab, die Ausgabe zu unterdrücken. Das will ich ja nicht: Ich gebe in der codeunit explizit einen Text mit Message(...) aus. Nur in der zeilenweisen Ausgabe in Powershell stellt irgendwas/irgendwer ein gelbes "WARNUNG" vor meinen Text.

Joscho

Re: MESSAGE & Powershell

17. Mai 2018 13:41

Du packst deinen Invoke-NavCodeunit Befehl in ein Powershellscript.
Du fängst den Rückgabewert von Invoke-NavCodeunit in einer Variable
Du entfernst aus der Variable dein "WARNUNG"
Du gibst deine Variable aus.

Letzten Endes rufst du nicht mehr das InvokeNavCodeunit auf, sondern das darum gekapselte Powershellscript.

Re: MESSAGE & Powershell

17. Mai 2018 13:57

Ja, ich habe es gerade geprüft und plädiere dafür.
Ich habe festgestellt das die ganze Zeile unterdrückt wird statt nur das WARNUNG.
Damit habe ich es dann auch verstanden was das Problem ist.

Re: MESSAGE & Powershell

17. Mai 2018 15:08

Ahh, jetzt ja.

Hab ich verstanden, eine Kapsel um die Kapsel. Werde ich ausprobieren.

Danke

Joscho