Ich erstelle ein Powershell-Tool, das eine bestimmte Migration von Programmdaten durchführt. Ein Schritt, den ich ausführen muss, ist zu überprüfen, ob SQL Server in die angegebenen Dateispeicherorte schreiben kann. Ich habe eine Schaltfläche, mit der die Zugriffsrechte auf den Pfaden überprüft werden. Wenn der Benutzer nicht über die erforderlichen Zugriffsrechte verfügt, wird neben dem Dateipfad eine kleine Bildbox (mit einem Warnbild) platziert. Wenn der Benutzer über Zugriffsrechte verfügt, wird neben dem Dateipfad ebenfalls ein kleines Bildfeld (mit einem Erfolgskontrollkästchen) angezeigt.
Angenommen, der Benutzer korrigiert die Dateipfade, die keine Zugriffsrechte haben, und möchte die Zugriffsrechtsprüfung erneut ausführen. Ich möchte, dass die vorherigen Bildboxen entfernt und das Formular aktualisiert werden, damit ich kein Warn- oder Erfolgsbild zeige, bis der Checker erneut ausgeführt wird.
Mein Problem ist, dass nach dem Ausführen der Zugriffsrechtsprüfung die Bildboxen nicht entfernt werden und das Formular nicht aktualisiert wird. Wenn sich der Dateipfad geändert hat und nun Zugriffsrechte hat, wird die alte Bildbox (mit dem Warnsymbol) weiterhin angezeigt, was falsch ist.
Ich dachte mir etwas in der Art von:
$form.controls.Remove($pictureBox3)
$form.controls.refresh()
würde die Bildboxen entfernen, aber das scheint nicht der Fall zu sein. Gibt es etwas, das ich übersehen habe?