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, 4840 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
Ähnliche Inhalte
Batch & Shell
gelöst Dell Garantie Abfrage per PowerShell Script (5)

Frage von evilknievel zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch und Powershell (2)

Frage von michi-ffm zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell Get-Content Inhalt filtern (1)

Frage von derhoeppi zum Thema Batch & Shell ...

Batch & Shell
gelöst PC nach einem Kopiervorgang herunterfahren - PowerShell Script? (4)

Frage von Stefan007 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Hardware
Laptop ins Salzwasser gefallen (18)

Frage von Marcel94 zum Thema Hardware ...

Switche und Hubs
LAG zwischen Cisco SG300 und Dlink DGS1100 herstellen - wie? (13)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

Hardware
Lenovo Yoga 500 über angeschlossene USB Tastatur booten (13)

Frage von thomasreischer zum Thema Hardware ...

CPU, RAM, Mainboards
Hardware Fragen (12)

Frage von xaver-2 zum Thema CPU, RAM, Mainboards ...