MESSAGE & Powershell

Bild Microsoft Dynamics NAV 2017

MESSAGE & Powershell

Beitragvon joscho » 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
joscho
 
Beiträge: 52
Registriert: 17. Februar 2011 18:49
Arbeitsort: Bremen
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2018

Re: MESSAGE & Powershell

Beitragvon Nody3000 » 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.
https://youtu.be/E0_Y53ci9cw 34C3 - Antipatterns und Missverständnisse in der Softwareentwicklung
Benutzeravatar
Nody3000
 
Beiträge: 82
Registriert: 13. Mai 2014 20:15
Wohnort: Berlin
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: Seit NAV 3.7

Re: MESSAGE & Powershell

Beitragvon MarkusWeiland » 16. Mai 2018 08:04

Du könntest dir den Rückgabewert in eine Variable schreiben, den Text dort ersetzen und dann erst ausgeben.
MarkusWeiland
 
Beiträge: 205
Registriert: 18. Januar 2017 10:01
Realer Name: Markus Weiland
Arbeitsort: SaarbrĂĽcken
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Re: MESSAGE & Powershell

Beitragvon joscho » 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.
joscho
 
Beiträge: 52
Registriert: 17. Februar 2011 18:49
Arbeitsort: Bremen
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2018

Re: MESSAGE & Powershell

Beitragvon MarkusWeiland » 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.
MarkusWeiland
 
Beiträge: 205
Registriert: 18. Januar 2017 10:01
Realer Name: Markus Weiland
Arbeitsort: SaarbrĂĽcken
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Re: MESSAGE & Powershell

Beitragvon Kowa » 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
GruĂź, Kai

Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, Messenger oder Telefon! DafĂĽr ist dieses Forum da.

Download: Dynamics NAV Object Text Explorer (Alternativlink). MVP Alumni
Benutzeravatar
Kowa
Moderator
Moderator
 
Beiträge: 7835
Registriert: 17. Juni 2005 17:32
Wohnort: Bremen
Realer Name: Kai Kowalewski
Arbeitsort: Osterholz-Scharmbeck
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics 365
Microsoft Dynamics Version: BC, NAV 2018 bis Navision 2.01

Re: MESSAGE & Powershell

Beitragvon Nody3000 » 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
https://youtu.be/E0_Y53ci9cw 34C3 - Antipatterns und Missverständnisse in der Softwareentwicklung
Benutzeravatar
Nody3000
 
Beiträge: 82
Registriert: 13. Mai 2014 20:15
Wohnort: Berlin
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: Seit NAV 3.7

Re: MESSAGE & Powershell

Beitragvon joscho » 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
joscho
 
Beiträge: 52
Registriert: 17. Februar 2011 18:49
Arbeitsort: Bremen
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2018

Re: MESSAGE & Powershell

Beitragvon MarkusWeiland » 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.
MarkusWeiland
 
Beiträge: 205
Registriert: 18. Januar 2017 10:01
Realer Name: Markus Weiland
Arbeitsort: SaarbrĂĽcken
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Re: MESSAGE & Powershell

Beitragvon Nody3000 » 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.
https://youtu.be/E0_Y53ci9cw 34C3 - Antipatterns und Missverständnisse in der Softwareentwicklung
Benutzeravatar
Nody3000
 
Beiträge: 82
Registriert: 13. Mai 2014 20:15
Wohnort: Berlin
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: Seit NAV 3.7

Re: MESSAGE & Powershell

Beitragvon joscho » 17. Mai 2018 15:08

Ahh, jetzt ja.

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

Danke

Joscho
joscho
 
Beiträge: 52
Registriert: 17. Februar 2011 18:49
Arbeitsort: Bremen
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2018


ZurĂĽck zu NAV 2017

Wer ist online?

Mitglieder in diesem Forum: Unbekannter Bot und 1 Gast