Einstellbare Parameter in txt und PowerShell Script übergeben

Mitglied: Worker26

Worker26 (Level 1) - Jetzt verbinden

30.03.2021, aktualisiert 08:55 Uhr, 567 Aufrufe, 10 Kommentare

Erstmal wünsche ich einen schönen guten Tag :) face-smile
Nun zu meinem Problem:
Ich logge mich bei einem ftp Server ein. Kopiere dort eine Datei hin und verlasse den ftp Server wieder. danach erstelle ich eine log Datei, über den Verlauf des Kopiervorgangs und sende mir diese per Mail. Realisiert habe ich das mit einer Batch Datei, einer txt Datei und einem PowerShell Script.
Batch:

openftp.txt:

Script:

Ich soll jetzt die ganzen einstellbaren Parameter wie USERNAME, FTPSERVER,... und Pfade in eine eigene txt oder ini Datei speichern und von dort dann auslesen. (Variablen.ini)
Ich weis, dass ich mit folgenden etwas auslesen kann, wenn ich weis, in welcher Zeile sich der gewünschte Parameter befindet:


Variablen.ini:

nun ließt es mir die zweite Zeile also ftpserver=DOMAIN aus und schreibt mir DOMAIN in die Variable Server.
Wie kann ich nun diese Werte an das PowerShell Skript und das openftp.txt File übergeben um diese dann dort zu verwenden?
Mitglied: em-pie
LÖSUNG 30.03.2021, aktualisiert um 10:11 Uhr
Moin,

ich würde aus dem Powershell und Batch-Mix ein reines Powershell-Script erstellen (zzgl. der txt.Datei)

Beispielsweise so (Quelle: https://www.thomasmaurer.ch/2010/11/powershell-ftp-upload-and-download/)


Und ein Einlesen von Parametern könnte so aussehen:
(Quelle: https://stackoverflow.com/questions/12368142/powershell-retrieving-a-var ...




Edit:
schaue dir auch mal die Lösung des Entwicklers von WinSCP, Martin Prikryl, an:
https://stackoverflow.com/questions/19059394/powershell-connect-to-ftp-s ...
Hier zur Überschrift "3rd party library" scrollen

Gruß
em-pie
Bitte warten ..
Mitglied: Worker26
30.03.2021 um 10:42 Uhr
Danke für die Antworten, ich werde mal schauen was ich daraus machen kann :D
Bitte warten ..
Mitglied: Worker26
31.03.2021 um 10:18 Uhr
Hallo :) face-smile
@em-pie
Ich habe das jetzt so gemacht, wie oben beschrieben

Beim Ausführen der letzten Zeile bekomme ich jedoch diese Fehlermeldung:
Ausnahme beim Aufrufen von "GetRequestStream" mit 0 Argument(en): "Die Verbindung mit dem Remoteserver kann nicht
hergestellt werden."
In Zeile:1 Zeichen:1

$Run = $FTPRequest.GetRequestStream()

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+ CategoryInfo : NotSpecified: (:) face-smile [], MethodInvocationException
+ FullyQualifiedErrorId : WebException

Woran kann es liegen, dass keine Verbindung aufgebaut werden kann?
Bitte warten ..
Mitglied: em-pie
LÖSUNG 31.03.2021 um 10:40 Uhr
Du hast ja sicherlich die Zeilen 1-4 auf deine Bedürfnisse angepasst, oder?
Bitte warten ..
Mitglied: Worker26
31.03.2021 um 12:01 Uhr
Problem gelöst, das Passwort hatte ein $ Zeichen enthalten. Hab das Passwort nun mit '' anstelle von "" übergeben und nun funktioniert es :) face-smile
Bitte warten ..
Mitglied: Worker26
31.03.2021 um 14:39 Uhr
Nochmal Hallo :D
Jetzt habe ich nochmal eine Frage.
Ich übergebe meine Parameter aus der Text Datei so:

In der Datei unter $path steht folgendes drin:

Im ersten Schritt schreibt er mir also LogInUser=USERNAME auf $var
Im zweiten Schritt ersetzt er LogInUser= durch nichts, und schreibt dies auf $Username.

Dies funktioniert auch prima.
Nun möchte ich aber das selbe Prinzip bei Pfaden anwenden, das sollte dann etwa so aussehen:

In der Datei unter $path steht folgendes drin:

dies funktioniert aber nicht, da ich die Variable hier nicht einsetzen kann so das es das selbe macht wie vorhin:
$FileContent = gc -en byte $LocalFile
Bitte warten ..
Mitglied: OKIDOKI
04.04.2021 um 21:00 Uhr
Frohe Ostern Worker26,

um den Path aus dem txt-file herauszubekommen hilft vielleicht dieser Ansatz:

Die Datei path.txt enthält: "Path=C:\Temp\file.zip"


Nun wird die Variable angezeigt: C:\Temp\file.zip

Gruß okidoki
Bitte warten ..
Mitglied: Worker26
07.04.2021 um 08:31 Uhr
Danke für die Hilfe, ich hatte aber einen Fehler bei der Pfadangabe, da es sich um einen UNC Pfad handelt. Es funktioniert, man muss nur das richtige hinschreiben :D
Bitte warten ..
Heiß diskutierte Inhalte
Netzwerkgrundlagen
Frage der anderen Art
NeuerleVor 1 TagFrageNetzwerkgrundlagen16 Kommentare

Hi an alle, Ich bin InformatikStudi. Habe Ende des Monats Klausur im Fach Netzwerke zu schreiben und komme gar nicht klar. Entweder ich bin ...

Ubuntu
Cups-Server mit SMB lehnt Verbindungen ab (smb.conf)?
ErikHeinemannVor 1 TagFrageUbuntu17 Kommentare

Guten Morgen, ich habe einen Ubuntu 20.04 Server mit Cups als Printspooler. Nun Soll noch Samba hinzugefügt werden für eine einfache Verwendung unter Windows. ...

Exchange Server
Kaspersky for Exchange Meldungen
gelöst wieoderwasVor 1 TagFrageExchange Server11 Kommentare

Guten Morgen, wir haben bei uns einen Exchange 2013 mit Kaspersky for Exchange und Sophos auf Dateiebene. Heute Morgen habe ich einige von diesen ...

Groupware
Lokale Mini-Groupware für Mail, Adressbuch und Kalender gesucht
AndreasKasselVor 1 TagFrageGroupware10 Kommentare

Hallo zusammen, ich habe insgesamt 2 PCs, 1 Notebook, 1 Android-Tablet und ein Android-Smartphone. Weiterhin habe ich 2 Mail-Adressen bei 1&1 mit einer eigenen ...

Grafikkarten & Monitore
Unerklärliche Aussetzer Bildschirm und Maus
nixwissenderVor 1 TagFrageGrafikkarten & Monitore10 Kommentare

hallo! wir haben aktuell das unerklärliche phänomen, dass sich am arbeitsplatz vom mitarbeiter eines der beiden bildschirme kurzzeitig ausschaltet (und zwar der, der per ...

CPU, RAM, Mainboards
CPU Lüfter ausbauen
gelöst ben1300Vor 1 TagFrageCPU, RAM, Mainboards9 Kommentare

Hallo zusammen, ich habe mir damals einen Fertig PC gekauft. Ich würde gerne den Arbeitsspeichern austauschen, allerdings muss ich dafür - so wie es ...

Backup
Backup Datei
gelöst KanrishaVor 1 TagFrageBackup5 Kommentare

Hallo Zusammen, ich habe eine Frage ich will eine Backup bat Datei schreiben habe jedoch ein kleines Problem. Ich möchte ein Laufwerk in das ...

DNS
Android 10 und mein DNS Server
gelöst CyborgWeaselVor 1 TagFrageDNS7 Kommentare

Hallo allesamt, ich spiele gerade etwas mit einer Synology herum, habe unter Anderem einen eigenen DNS jetzt aufgesetzt. Die lokale Domäne ist HomeDomain.local und ...