Mein erstes kleines PowerShell Skript das mir eine Frage beantwortet hat

Ich bin stolz. Jawohl, und zwar auf mich. Nachdem ich mich dank Microsoft Virtual Academy an die PowerShell herangetraut habe, konnte ich mir mit PowerShell gestern ein erstes kleines Skript schreiben, welches mir folgende Frage beantworten konnte:

Für einen Kunden sollte ein ISO-Image auf unserem Webserver bereitgestellt werden. Um nun sicherzustellen, dass der Upload die Datei nicht geschreddert hat kam ich auf die Idee mit Prüfsummen zu generieren, wie sie z.B. bei Downloads aus dem Linuxbereich gang und gäbe sind. Dort sind bei Downloads sehr oft die MD5 Prüfsummen angegeben. Die Prüfsummen auf unserem Webserver zu erstellen war dank Linux mittels md5sum kein Problem. Die spannendere Frage war also, wie kann ich das mit PowerShell auf meinem PC erreichen? Tante Google leiferte mir Antworten, um sich zunächst allein für die Erstellung der Prüfsummen in unglaublichen Scripten auszuwachsen und dann später mit der Information um die Ecke zu kommen, dass es inzwischen das Cmdlet „Get-FileHash“ gibt, welches die zuvor beschriebenen Scriptlösungen obsolet macht.

So kann man also per PowerShell auch recht einfach die Prüfsumme für eine Datei ausgeben lassen:

Fein! Aber doch halt, der Hash sieht etwas lang aus, und oh, das ist ja keine md5 Prüfsumme, weshalb sie auch so länglich ist. Mist. Aber zum Glück kann man mit Get-FileHash verschiedene Algorithmen über den Schalter -Algorithm setzen und – oh Wunder – dort taucht auch MD5 auf. Jetzt muss die erzeugte Prüfsumme mit der auf dem Webserver verglichen werden und dazu habe ich mir dieses kleine Script geschrieben:

Die beiden Prüfsummen in eine Variable gepackt, und über eine if Prüfung auf Übereinstimmung geprüft und bei entsprechendem Ergebnis eine entsprechende Meldung ausgegeben. Interessant dabei ist, das PowerShell hier auf Inhaltliche Gleichheit prüft und die Unterschiede in der Groß- Kleinschreibung ignoriert (A = a):

Alles in Allem natürlich eine banale Sache und doch hätte ich das vor einer Woche noch nicht hinbekommen 🙂

Veröffentlicht in Powershell Getagged mit: , ,

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*