ad-min
Goto Top

PS Get-Content - sicheres Einlesen von Dateien

Hallo und einen schönen Abend,

ich arbeite gerade an einem PowerShell-Script.

Mittels Get-Content möchte ich die Versionsnummer aus einer reinen Textdatei (version.txt) auslesen. Bis jetzt mache ich das wie folgt:
$OldVersion = Get-Content $Path\version.txt

Nun möchte ich folgendes ändern:

  • es sollen nur die ersten 5 Zeichen eingelesen werden
  • es sollen nur Zahlen [0-9] eingelesen werden

Das Ziel soll sein, dass nicht unerwünschter Code in mein Skript eingefügt werden kann. (Security)

Ich habe mir bereits die Anleitung auf Microsoft.com durchgelesen, habe aber keinen entsprechenden Parameter gefunden.

Danke und LG
ad-min

Content-Key: 553704

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

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

Member: falscher-sperrstatus
Solution falscher-sperrstatus Mar 02, 2020 at 17:36:16 (UTC)
Goto Top
Moin, regex Check?

Wobei das in einem Script ggf. Wenig Sinn macht. Wenn ich da falschen Code Einschleusen will, schrieb ich das Skript um
Mitglied: 143127
Solution 143127 Mar 02, 2020 updated at 17:44:02 (UTC)
Goto Top
if ((gc $path\version.txt -TotalCount 1) -match '^\d{5}'){  
    $oldversion = $matches
    $oldversion
}else{
   write-host "Nüscht nach Vorschrift, zurück in den Käfig."  
}
Member: ad-min
ad-min Mar 02, 2020 updated at 18:12:38 (UTC)
Goto Top
@143127 Vielen Dank, funktioniert wie gewünscht! (Das ist also ein regex Check?)

@certifiedit.net Die Datei wird von einem Webserver heruntergeladen. (Theoretisch könnte man diese Datei verändern, um Code in mein Skript einzuschleusen...)

Ich kannte regex von JavaScript, wusste aber gar nicht, dass die auch in PS funktionieren
Member: falscher-sperrstatus
Solution falscher-sperrstatus Mar 02, 2020 at 18:15:14 (UTC)
Goto Top
regex ist nichts Sprachspezifisches. https://de.wikipedia.org/wiki/Regul%C3%A4rer_Ausdruck
Member: ad-min
ad-min Mar 02, 2020 at 18:22:13 (UTC)
Goto Top
Danke!! face-smile