Seite 1 von 1

MESSAGE & Powershell

Verfasst: 15. Mai 2018 18:10
von joscho
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

Verfasst: 15. Mai 2018 21:38
von Nody3000
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

Verfasst: 16. Mai 2018 08:04
von MarkusWeiland
Du könntest dir den Rückgabewert in eine Variable schreiben, den Text dort ersetzen und dann erst ausgeben.

Re: MESSAGE & Powershell

Verfasst: 16. Mai 2018 11:44
von joscho
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

Verfasst: 16. Mai 2018 14:35
von MarkusWeiland
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

Verfasst: 16. Mai 2018 14:44
von Kowa
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

Verfasst: 17. Mai 2018 11:42
von Nody3000
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

Verfasst: 17. Mai 2018 13:03
von joscho
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

Verfasst: 17. Mai 2018 13:41
von MarkusWeiland
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

Verfasst: 17. Mai 2018 13:57
von Nody3000
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

Verfasst: 17. Mai 2018 15:08
von joscho
Ahh, jetzt ja.

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

Danke

Joscho