marcimarc85
Goto Top

Fehlermeldung in Powershell ausblenden

Hallo,

Ich starte über Powerdhell eine Batch-Script, was ein MySQL Datenbank Update anstößt.
Soweit kein Problem: wenn nun allerdings die Datenbank Version schon auf der richtigen Versionsnummer ist, kommt eine Fehlermelung, die ich gern ausblenden würde.

$new_database_version = '596'  


 # Migrate the database

 write-host Migrate database to version $new_database_version -ForegroundColor DarkCyan
 cmd.exe /C "$db_scripts_path\migrate_db.bat" localhost 3306 dbadmin dbpassword $db_scripts_path $new_database_version  -ArgumentList '/v','/qn' -passthru  

Raus kommt dabei:

cmd.exe : mysql: [Warning] Using a password on the command line interface can be insecure.
In D:\Software\enterprise\bin\powershell_tools\migrate.ps1:12 Zeichen:2
+  cmd.exe /C "$db_scripts_path\migrate_db.bat" localhost 3306 dbadmin dbpassword  ...  
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (mysql: [Warning...an be insecure.:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError
 
mysql: [Warning] Using a password on the command line interface can be insecure.
Database is already on version 596.

Ich hätte gern nur den Teil "Database is already on version 596." ausgegeben. Der rest darüber ist rot geschrieben und irritiert nur. Das hätte ich gern ausgeblendet. Gibt es für das Ausblenden der roten Warnmeldung ein Kommando?

Content-ID: 454918

Url: https://administrator.de/forum/fehlermeldung-in-powershell-ausblenden-454918.html

Ausgedruckt am: 06.04.2025 um 17:04 Uhr

139920
139920 23.05.2019 aktualisiert um 09:39:27 Uhr
Goto Top
Kraemer
Kraemer 23.05.2019 um 11:13:56 Uhr
Goto Top
Moin,

Fehlermeldungen gibt es, wenn Fehler auftreten. Dafür sind die da und gehören nicht ausgeblendet. Anstatt sich nun Gedanken darüber zu machen, wie man diese ausblendet, kann man doch gleich sauber programmieren und den Fehler vermeiden, oder nicht?

Gruß
MarciMarc85
MarciMarc85 24.05.2019 um 06:41:45 Uhr
Goto Top
Die Meldung in diesem Fall, ist keine Fehlermeldung an sich, sondern eher ein Warnhinweiß von MySQL, dass Kennwörter auf Kommandozeilenebene zu verwenden, unsicher sein kann. Selbnst diese Medlung an sich, wäre ok, wenn sie angezeigt wird, aber der Teil danach, nervt bzw. sieht es unschön aus:

In D:\Software\enterprise\bin\powershell_tools\migrate.ps1:12 Zeichen:2

03.

+  cmd.exe /C "$db_scripts_path\migrate_db.bat" localhost 3306 dbadmin dbpassword  ...  

04.

+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

05.

    + CategoryInfo          : NotSpecified: (mysql: [Warning...an be insecure.:String) [], RemoteException

06.

    + FullyQualifiedErrorId : NativeCommandError

Das wird halt nur in Powershell so angezeigt. Per CMD ist das halt nicht da und so hätte ich, dass dieser Teil auch in Powershell nicht ausgegeben wird. Das hat nichts mit sauber programmieren zutun
139920
139920 24.05.2019 aktualisiert um 07:34:32 Uhr
Goto Top
Das hat nichts mit sauber programmieren zutun
Doch. Passwörter hinterlegt man niemals im Klartext.
Ließ den Link da steht wie man es richtig macht.
Ansonsten beschäftige dich mit den Error-Parametern.
Kraemer
Kraemer 24.05.2019 um 08:20:17 Uhr
Goto Top
Zitat von @139920:

Das hat nichts mit sauber programmieren zutun
Doch.
meine Meinung