Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Powershell - Module PsFTP - recursive Abfrage

Frage Entwicklung Batch & Shell

Mitglied: HerrTaler

HerrTaler (Level 1) - Jetzt verbinden

15.08.2012, aktualisiert 08:57 Uhr, 4867 Aufrufe, 1 Kommentar

Ich möchte gerne mit Powershell alle Dateien und Verzeichnisse in einem FTP-Pfad auflisten. Ich habe das mit dem Module PsFTP versucht Quelle: (http://gallery.technet.microsoft.com/scriptcenter/PowerShell-FTP-Client ... funktioniert bei mir der -recurse Parameter nicht.

Hat von euch schon mal einer mit dem Modul gearbeitet? Benutze ich den Parameter falsch?

Das ist mein Script:
01.
Import-Module PsFTP 
02.
$password = ConvertTo-SecureString kennwort -AsPlainText -Force 
03.
$Credentials = New-Object System.Management.Automation.PSCredential user, $Password 
04.
Set-FTPConnection -Credentials $Credentials -Server 10.1.4.117 
05.
get-FTPChilditem -path /test -Recurse # So geht es nicht 
06.
#get-FTPChilditem -path /test # So geht es aber eben nicht mit Unterverzeichnissen
Fehlermeldung:
01.
Get-FTPChildItem : "Die Länge darf nicht kleiner als 0 (null) sein. 
02.
Parametername: lengt 
03.
Bei C:\Scripts\_Vorlage\ftp2.ps1:59 Zeichen:17 
04.
+ get-FTPChilditem <<<<  -path /test -Recurse 
05.
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException 
06.
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Get-FTPChildItem
Danke für eure Hilfe
Gruß
Herr Taler
Mitglied: refLye
20.07.2015, aktualisiert um 14:36 Uhr
Hallo,

du benutzt es richtig - Der "-Recurse"-Schalter geht bei mir auch nicht. Nur für die Passwort-Geschichte gibt es einen Weg, der etwas sicherer ist. Erkläre ich gleich.

Bei mir geht folgende Zeile:

01.
(Get-FTPChildItem -Path "myrootdir") | Where-Object { $_.Dir -eq "d" } | ForEach-Object { Get-FTPChildItem -Path "myrootdir/$($_.Name)" } | out-gridview
Er liest alle ChildItems aus dem myrootdir-Verzeichnis aus, die als Eigenschaft "Dir" ein "d" gesetzt haben - das trifft nur für Ordner zu. Dann liest er nacheinander für jeden dieser Ordner die ChildItems aus. Kannst du damit schon etwas anfangen?

---

Etwas zur Sicherheit: wenn ich meinen Administrator-Login benötige (automatisch, ohne Passwort-Eingabe), dann gehe ich diesen Weg:

01.
$SecureStringFile = "path\to\creds.txt" 
02.
$SecureKey = (3,4,2,3,6,2,1,1,2,3,2,4,3,1,4,2) 
03.
 
04.
$Credential_UserName = "domain\username" 
05.
$Credential_Password = Get-Content $SecureStringFile | ConvertTo-SecureString -Key $SecureKey 
06.
$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $Credential_UserName, $Credential_Password
Die creds.txt enthält eine "wirre" Folge von Ziffern und Buchstaben:

01.
76492d1116743f042341[...]AMQBlAGUAYgAxADMAZAA=
Erzeugt habe ich diese Datei mit folgenden Zeilen:

01.
$SecureKey = (3,4,2,3,6,2,1,1,2,3,2,4,3,1,4,2) 
02.
$SecureCred = Read-Host -prompt "Bitte Passwort für $file angeben:" -AsSecureString 
03.
$SecureCred | ConvertFrom-SecureString -key $SecureKey | Set-Content ("c:\temp\creds.txt")
Man erzeugt aus dem Passwort quasi einen mit $SecureString verschlüsselten Hash, den man im PowerShell-Skript dann nur mit genau diesem Key wieder entschlüsseln kann.
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(3)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Batch & Shell
gelöst Dell Garantie Abfrage per PowerShell Script (5)

Frage von evilknievel zum Thema Batch & Shell ...

Windows Update
Powershell WSUS Automation Skript - PoshWSUS

Frage von sigisigi zum Thema Windows Update ...

Batch & Shell
gelöst Powershell - Get-ADForest (6)

Frage von emeriks zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
CPU, RAM, Mainboards
Kaufberatung für mind. 8 verschiedene HighEnd-Mainboards (24)

Frage von yperiu zum Thema CPU, RAM, Mainboards ...

Netzwerke
Abisolierwerkzeug (11)

Frage von SarekHL zum Thema Netzwerke ...

Hyper-V
Langsames Netzwerk i210 LAN Karte (11)

Frage von Akcent zum Thema Hyper-V ...

Windows 10
Welches OS für Firmengeräte? (10)

Frage von MarkusVH zum Thema Windows 10 ...