Powershell - AnmeldeDaten aus TXT für WINSCP
Guten Abend,
mit nachfolgendem Powershell-Code lade ich Daten über WINSCP auf ein Online-Verzeichnis hoch:
Wie kann ich bspw. den Benutzer und das Passwort in einer ftp.txt holen:
mit nachfolgendem Powershell-Code lade ich Daten über WINSCP auf ein Online-Verzeichnis hoch:
& "C:\Program Files (x86)\WinSCP\WinSCP.com" `
/log="C:\ProgramData\TEST\ftp.log" /ini=nul `
/command `
"open davs://benutzer:passwort@daten.domain.de" `
"put *.txt" `
"exit"
$winscpResult = $LastExitCode
if ($winscpResult -eq 0)
{
Write-Host "Success"
}
else
{
Write-Host "Error"
}
$winscpResult
Wie kann ich bspw. den Benutzer und das Passwort in einer ftp.txt holen:
benutzer;passwort;
Please also mark the comments that contributed to the solution of the article
Content-Key: 613492
Url: https://administrator.de/contentid/613492
Printed on: April 25, 2024 at 12:04 o'clock
2 Comments
Latest comment
Powershell und WinSCP, dann nimmt man gleich die extra dafür geschaffene .NET DLL und die schönen Klassen dafür und frickelt sich keine Kommandozeile zusammen!
https://winscp.net/eng/docs/library_powershell
Und sowas wie Passwort in einer Textdatei hinterlegen macht man heute doch nicht mehr. Da nimmt man eher gleich Zertifikate oder den CredentialStore für.
Aber bitte wenn du unbedingt willst
Entweder so (Passwörter mit Semikolon sind dann suboptimal)
Oder so dann muss aber die Textdatei so aufgebaut sein:
Hier mal n bisschen Lesestoff damit du nicht alle zwei Stunden mit ner Frage kommst wie man Text aus Dateien auslesen kann:
Get-Content
https://winscp.net/eng/docs/library_powershell
Und sowas wie Passwort in einer Textdatei hinterlegen macht man heute doch nicht mehr. Da nimmt man eher gleich Zertifikate oder den CredentialStore für.
Aber bitte wenn du unbedingt willst
Entweder so (Passwörter mit Semikolon sind dann suboptimal)
$data = (Get-Content 'C:\datei.txt' -totalcount 1) -split ";"
$user = $data
$pass = $data[1]
"benutzer";"passwort"
$data = Import-CSV 'C:\test.txt' -Delimiter ";" -Header 'Username','Password'
$user = $data.Username
$pass = $data[1].Password
Get-Content
mit nachfolgendem Powershell-Code lade ich Daten über WINSCP auf ein Online-Verzeichnis hoch:
& "C:\Program Files (x86)\WinSCP\WinSCP.com" `
/log="C:\ProgramData\TEST\ftp.log" /ini=nul `
/command `
"open davs://benutzer:passwort@daten.domain.de" `
"put *.txt" `
"exit"
Ich denke, die verwendeten Parameter sind in dieser Kombination nicht vorgesehen.
Warum nicht gleich ein passendes SessionOptions Objekt erzeugen und mit dessen Hilfe eine WinSCP Session öffnen?
Wie kann ich bspw. den Benutzer und das Passwort in einer ftp.txt holen:
Zum Beispiel mit Get-Content.