compu2000
Goto Top

Powershell - AnmeldeDaten aus TXT für WINSCP

Guten Abend,

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;

Content-Key: 613492

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

Printed on: April 19, 2024 at 13:04 o'clock

Mitglied: 146189
146189 Oct 16, 2020 updated at 17:30:57 (UTC)
Goto Top
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)
$data = (Get-Content 'C:\datei.txt' -totalcount 1) -split ";"
$user = $data
$pass = $data[1]
Oder so dann muss aber die Textdatei so aufgebaut sein:
"benutzer";"passwort"

$data = Import-CSV 'C:\test.txt' -Delimiter ";" -Header 'Username','Password'
$user = $data.Username
$pass = $data[1].Password
Hier mal n bisschen Lesestoff damit du nicht alle zwei Stunden mit ner Frage kommst wie man Text aus Dateien auslesen kann:
Get-Content
Member: mbehrens
mbehrens Oct 16, 2020 at 21:07:49 (UTC)
Goto Top
Zitat von @compu2000:

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.