none
TXT einlesen und mit Eingabe des Users vergleiche RRS feed

  • Frage

  • Hallo,

    ich bin neu in Powershell und hätte da eine Frage.

    Ich habe eine Textdatei (welche ich beim starten des Skripts erzeuge) mit Shares (kann sich öfters ändern) eines Netapp Filers.

    Der User wird gefragt für welchen Share er sich Informationen anzeigen lassen will (z.B. Größe, Anzahl iNodes usw.), jetzt soll die Eingabe mit der Text Datei abgeglichen werden, ob der Share überhaut existiert. Wenn er vorhanden ist, soll er mit den Script weitermachen, wenn nicht den User zur erneuten Eingabe auffordern.

    Könnte das ganze ja mit den -match Befehl machen, da müsste ich aber alle Shares ins Skript eintragen, da diese sich aber ändern, ist dies nicht sehr komfortabel.

    Wie kann ich das bewerkstelligen?

    Gruß

    Harald

    • Typ geändert Teodora MilushevaModerator Montag, 11. April 2016 06:17 Die Threads die keine Aktivität haben, werden als Diskussion geändert. Das machen wir, um die Suche in dem Forum zu verbessern. Sie können den Typ jede Zeit ändern.
    • Typ geändert Denniver ReiningMVP, Moderator Montag, 18. April 2016 10:35 .....
    Freitag, 8. April 2016 11:32

Antworten

  • Hallo,

    da du nicht sagst, wie deine Text-Datei aufgebaut ist, nehme ich mal an, dass sie einfach nur die Shares in Zeilen untereinander enthält.

    Dann kannst du den Inhalt dieser Datei mit Get-Content einlesen; da muss du nichts ins Skript schreiben.

    Diese Namen sind dann String-Objekte in einem Array; sagen wir, dieses heißt $a. Mit

    $b = $a | Out-GridView -OutputMode Single

    kannst du alle Namen in einem Fenster anzeigen lassen. Der Nutzer kann dann auswählen, welches er möchte und diese Auswahl wird an die PowerShell (in eine Variable $b) zurückgegeben.

    Wenn du mit Read-Host eine Eingabe $b abfragst, kannst du natürlich auch mit "$b -in $a" prüfen lassen, ob dein Eintrag in der Liste ist.

    Viele Grüße

    Christoph 


    Montag, 11. April 2016 13:50