134864
Goto Top

Powershell Skript richtig schreiben

Hallo liebe Community,

ich arbeite seit einigen Tagen mit der Powershell.
Meine Aufgabe ist es ein Skript zu schreiben welches eine Datei aus dem Internet herunterlädt, diese Speichert und mit einer vorhanden Datei vergleicht.
Soweit so gut. Das Herunterladen funktioniert ohne Probleme.

Eine weitere Funktion soll sein das anhand der MD5 Checksumme geprüft wird ob diese Datei schon existiert.
Über die Befehele:

#Ausgabe der 1. MD5 CHecksumme
Get-FileHash $test -Algorithm MD5

#Ausgave der 2.MD5 Checksumme
Get-FileHash $test1 -Algorithm MD5

#Vergleich der Variablen + Checksummen = True/False
((Get-FileHash "$test").hash) -eq ((Get-FileHash "$test1").hash)

Ich habe mir die Finger wund gesucht um den Befehel bzw. einen Ansatz dafür zu finden jetzt zu sagen:

- Wenn der MD5 Wert ungleich der heruntergelanden Datei ist, dann lösche die vorhande Datei und ersetze sie mit der neuen.

Über Antworten würde ich mich freuen.
Ich habe auch die Suchfunktion genutzt, jedoch keinerlei Beiträge gefunden die dieses Problem ansprechen bzw. in die Richtung gehen.

Danke und schönen Abend

Content-Key: 356248

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

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

Member: Dani
Dani Nov 27, 2017 updated at 16:41:30 (UTC)
Goto Top
Guten Abend,
versuche es einmal so:
cd "C:\Temp"  

$test1 = Get-FileHash "C:\Temp\test1\forum2017_18.pdf" -Algorithm MD5  
$test2 = Get-FileHash "C:\Temp\test2\forum2017_18.pdf" -Algorithm MD5  


if ($test1.Hash -ne $test2.Hash) {
    write-host "Download Datei"  
}
else {
    Write-Host "Dateien sind identisch."  
}

Gruß,
Dani
Mitglied: 134864
134864 Nov 27, 2017 at 16:52:33 (UTC)
Goto Top
Danke für dein Kommentar. Ich habe es natürlich direkt eingefügt und angepasst.
Leider gibt er mir aus "Dateien sind identisch". Was ja nicht der Fall ist, da die MD5 Checksumme eine andere ist.

Ich gehe nochmal tiefer in die Materie:
- Es soll eine Datei aus dem Internet heruntergeladen werden
- diese wird auf einem Share zwischen gespeichert
- über das Scribt soll ein Vergleich stattfinden
- Auf den Client Rechner befindet sich bereits eine solche Datei - jedoch in der falschen Version
- Dadurch ist ein Unterschied der MD5 erkennbar
- Er soll dann prüfen ob sie sich unterscheiden, wenn Ja die "alte" Datei löschen und die "Neue" Datei kopieren

Danke
Member: Penny.Cilin
Penny.Cilin Nov 27, 2017 at 16:58:04 (UTC)
Goto Top
Hallo und guten Abend,

ist das eine Hausaufgabe oder Azubiaufgabe?

Gruss Penny
Member: Dani
Dani Nov 27, 2017 at 16:59:13 (UTC)
Goto Top
Moin,
hmm... ist die Datei die du runterlädst, frei erhältlich? Anders wird es schwierig den Fehler zu finden.
Bei funktioniert der Vergleich wie er soll.


Gruß,
Dani
Mitglied: 134864
134864 Nov 27, 2017 at 17:00:06 (UTC)
Goto Top
Nein ist es nicht. Ich habe in meinem Berufsleben noch nie mit Powershell arbeiten müssen. Daher bin ich recht unerfahren was das angeht. Falls es noch relevant ist, ich bin seit 6 Jahren kein Azubi mehr
Mitglied: 134864
134864 Nov 27, 2017 at 17:01:08 (UTC)
Goto Top
Ja die Datei ist frei erhältlich. Geht über einen öffentlichen Zugang. Naja am besten ich fang einfach nochmal von vorn an. Das sollte eventuell die größten Fehler ausmerzen
Member: emeriks
emeriks Nov 27, 2017 at 18:39:15 (UTC)
Goto Top
Hi,
ungefähr so?
<scherz>
Script
oder
Skript
</scherz>

E. face-wink

Edit: Ach so .... Sachse?
Mitglied: 134864
134864 Nov 27, 2017 at 19:04:46 (UTC)
Goto Top
Hehe Fehler bemerkt, danke face-smile
Nein Thüringer face-smile
Member: Dani
Dani Nov 27, 2017 at 19:05:50 (UTC)
Goto Top
Moin,
Hehe Fehler bemerkt, danke
sehr schön. Möchtest du uns auch noch sagen, was der Fehler war?
Unabhängig davon den Beitrag bitte auf gelöst setzen.


Gruß,
Dani
Mitglied: 134864
134864 Nov 27, 2017 at 19:09:08 (UTC)
Goto Top
Kommt morgen ein Kommentar dazu. Ich bin gerade im Feierabend. Werde es morgen Posten und dann auf Gelöst setzen.

Danke an die nette Community
Member: BassFishFox
BassFishFox Nov 27, 2017 at 19:09:55 (UTC)
Goto Top
Halloele,

Das mit dem Script/Skript schon. Nur da sind immer noch die Befehele die eigentlich Befehle sein wollen.
Das "heruntergelanden" einer Datei verzeihen wir. face-wink

Nimm's nicht tragisch. face-smile

BFF
Mitglied: 134864
134864 Nov 27, 2017 at 19:13:15 (UTC)
Goto Top
Hach entschuldigt meine Rechtschreibung. Manchmal bin ich halt ein wenig zu schnell beim schreiben face-smile
Member: Pedant
Pedant Nov 27, 2017 updated at 19:34:33 (UTC)
Goto Top
Hallo Maarrc,

wenn wir schon dabei sind...
Zitat von @134864:
...beim schreiben

<code type=plain">...beim Schreiben.
("Schreiben" ist in Deinem Satzbau ein Hauptwort und ein Punkt am Satzende sollte auch nicht fehlen.)

Gruß Frank
Member: Dani
Dani Nov 27, 2017 at 20:04:06 (UTC)
Goto Top
Hallo,
sehr schön Jungs... der User hat sich abgemeldet. Rechtschreibung, Satzbau, Satzzeichen, etc... ist wichtig, aber nicht um jeden Preis. Das sind 3-4 Tippfehler, die jedem schon einmal passiert sind. Solch ein Tamtam daraus zu machen, finde ich in diesem Beitrag unangemessen.


Gruß,
Dani
Member: maretz
maretz Nov 27, 2017 at 22:35:51 (UTC)
Goto Top
Zumal nun die Lösung auch nicht mehr kommen wird. Schade eigentlich, hätte anderen ja ggf auch helfen können
Member: Pedant
Pedant Nov 28, 2017 at 08:59:39 (UTC)
Goto Top
Hallo Dani,

wenn es wirklich so war, tut es mir leid.

Den Verlauf noch einmal betrachtend:

In der ersten Antwort auf seine Frage erhielt er schon eine Lösung von Dir.
Dann war da wohl seinerseits noch ein relevanter Script/Skript-Fehler.
(Was das war, ist jetzt nicht mehr nachvollziehbar.)
Nach dessen Behebung, lief die Lösung wohl auch bei ihm.

Bis dahin resultierte das alles in seine Worte:
"Danke an die nette Community"

Erst nachdem der Thread faktisch gelöst und bis dahin die Community nachweislich nett war, kamen zwei Offtopics zur Rechtschreibung (von BassFishFox und von mir).
Ob die nötig oder unterhaltsam waren sei dahingestellt, aber beide waren formal und inhaltlich nicht geeignet seine Würde herabzusetzen.

Ich bin mir unsicher, ob wirklich diese beiden angefügten Offtopics aus einer netten Community eine gemacht haben, die man sofort und kommentarlos verlassen muss.
Wie sensibel kann man denn sein?

Wie auch immer, ich werde versuchen mich mit Kommentaren zur Rechtschreibung zurückzuhalten, auch wenn es manchmal wehtuen wird.
Hier tat es nicht weh - seine Rechtschreibung war insgesamt gar nicht schlecht - ich konnte nur seine Vorlage nicht ignorieren.

Aber nochmal, wenn ich ihn tatsächlich vergrault haben sollte, bitte ich um Verzeihung, zumal es Dein "Kunde" war und nicht meiner.

Gruß Frank
Member: mayho33
mayho33 Jan 17, 2020 updated at 11:53:21 (UTC)
Goto Top
Hi!

du willst also nur vergleichen ob 2 Dateien identisch sind? Um welcher art von Datei handelt es sich? txt? exe? pdf? Eventuell sind deine Dateien nicht unterschiedlich?

teste es mal so:

  • lege eine v1.txt an, schreibe v1 rein
  • mache eine Kopie von v1.txt
  • verwende diesen Code unten. Im Unterschied zu Danis Beispiel gibst du den Algorithmus explizit an

Ergebnis: Gleich!

  • schreibe anderen Text in die v1 - kopie.txt

Ergebnis: Ungleich!

$fileA = Get-FileHash $fileSourceA -Algorithm "SHA256"  
$fileB = Get-FileHash $fileSourceB -Algorithm "SHA256"  


if ($fileA.Hash -ne $fileB.Hash)
{
    write-host "ungleich!"    
}
else
{
    Write-Host "gleich!"  
}

Grüße!
Member: BassFishFox
BassFishFox Jan 17, 2020 at 12:42:28 (UTC)
Goto Top
Keine "Leichenfledderei" bitte. ;)

Schau mal das Datum des letzten vor Dir an. ;)
Member: emeriks
emeriks Jan 17, 2020 at 12:46:51 (UTC)
Goto Top
Zitat von @BassFishFox:
Keine "Leichenfledderei" bitte. ;)
lol
Member: mayho33
mayho33 Jan 17, 2020 at 13:07:05 (UTC)
Goto Top
Holla! Wieder mal in die "Diese Beiträge könnten dich auch interessieren" - Falle getappt

Was solls! face-wink
Member: Penny.Cilin
Penny.Cilin Jan 17, 2020 at 14:47:55 (UTC)
Goto Top
Zitat von @emeriks:

Zitat von @BassFishFox:
Keine "Leichenfledderei" bitte. ;)
lol
Agarde, dös iss'n ZOMBIE face-wink

Scheenen Freitach noch

Gruss Penny.