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-Key: 454918

Url: https://administrator.de/contentid/454918

Printed on: April 25, 2024 at 12:04 o'clock

Mitglied: 139920
139920 May 23, 2019 updated at 07:39:27 (UTC)
Goto Top
Member: Kraemer
Kraemer May 23, 2019 at 09:13:56 (UTC)
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ß
Member: MarciMarc85
MarciMarc85 May 24, 2019 at 04:41:45 (UTC)
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
Mitglied: 139920
139920 May 24, 2019 updated at 05:34:32 (UTC)
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.
Member: Kraemer
Kraemer May 24, 2019 at 06:20:17 (UTC)
Goto Top
Zitat von @139920:

Das hat nichts mit sauber programmieren zutun
Doch.
meine Meinung