Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

22.07.2009, 08:02

.net ftp powershell

hi @ all,

ich habe im internet einen fertigen codeschnipsel gefunden, der daten via ftp holt. mein problem ist jetzt das prüfen der verbindung.

so verbinde ich mich zum ftp server:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function ConnToFTP($URI, $username, $password, $conntry)
{       
    for($i = 0; $i -lt 4; $i++)
    {
        $ftp=[System.Net.FtpWebRequest]::Create($URI)
        trap
        {
            if($conntry -lt 4)
            {
                $conntry = $conntry + 1
                ConnToFTP $URI $username $password $conntry
            }
            else
            {
                $ftp = "0"
            }
        }
        $i = 4;
    }
    
    return $ftp;
}


leider wird trap ignoriert, obwohl er definitiv nicht zum ftp server connecten kann. wie kann ich prüfen, ob die verbindung erfolgreich zu stande kommt? ich benutze die powershell.

danke schonmal im voraus

mfg

jan

2

22.07.2009, 13:45

problem behoben.

jetzt habe ich ein weiteres: wie kann ich mit ftpwebrequest den ordner auf dem ftp wechseln?

3

22.07.2009, 14:33

Gibt es keine Funktion 'setFolder' ?

4

22.07.2009, 14:39

laut der .net dokumentation gibt es in der klasse System.Net.FtpWebRequest keine methode, mit der ich den ordner wechseln kann

5

22.07.2009, 14:48

Zitat von »"http://msdn.microsoft.com/de-de/library/system.net.ftpwebrequest(VS.80).aspx"«

Um eine Instanz von FtpWebRequest abzurufen, verwenden Sie die Create-Methode. Sie können auch die WebClient-Klasse verwenden, um Informationen auf einen FTP-Server zu uploaden oder von einem FTP-Server zu downloaden. Wenn Sie eine dieser Vorgehensweisen verwenden und eine Netzwerkressource angeben, die das FTP-Schema (z. B. "ftp://contoso.com") verwendet, ermöglicht die FtpWebRequest-Klasse das programmgesteuerte Interagieren mit FTP-Servern.

Der URI kann relativ oder absolut sein. Wenn der URI in der Form "ftp://contoso.com/%2fpath" (%2f ist das Escapezeichen für "/") vorliegt, ist der URI absolut, und das aktuelle Verzeichnis ist /path. Wenn der URI hingegen in der Form "ftp://contoso.com/path" vorliegt, meldet sich .NET Framework zunächst auf dem FTP-Server (mit dem durch die Credentials-Eigenschaft festgelegten Benutzernamen und Kennwort) an und legt dann das aktuelle Verzeichnis auf <UserLoginDirectory>/path fest.

Damit solltest du doch arbeiten können.

6

22.07.2009, 14:51

jetzt bekomme mitmal folgenden fehler:

Quellcode

1
2
3
System.Management.Automation.RuntimeException
Die Credentials-Eigenschaft wurde in diesem Objekt nicht gefunden. Stellen Sie sicher, dass sie
vorhanden ist und festgelegt werden kann.


das ist die stelle im quellcode:

Quellcode

1
$credentials=New-Object System.Net.NetworkCredential($username,$password)


ich habe das script auf einem anderen rechner gestartet und dann habe ich die oben gepostete fehlermeldung erhalten. auf meinem rechner funktioniert das script ohne probleme und das wechseln der ordner habe ich auch hinbekommen, aber wenn das script seinen dienst verweigert, dann bringt mich das auch nicht weiter.

google bringt mich nicht weiter -.- . vill. hat jemand von euch eine idee.[/code]

7

23.07.2009, 07:56

nach ein bisschen suchen im internet wurde ich auf die .net configuration aufmerksam. nur leider finde ich keine erläuterung zudem was mich interessiert. ich habe mittlerweile die vermutung, das ich einfach nicht die rechte zum initialisieren der klasse habe. vill. kann mir einer sagen, wo ich nachgucken kann, ob ich die rechte auf die klasse System.Net habe.

auf beiden systemen habe ich adminrechte und es läuft nur auf einem system

8

23.07.2009, 09:09

Ist auf beiden Rechnern die gleiche Version des .Net Frameworks installiert?
Wenn dir Rechte fehlen würden, würde dir eine Exception geworfen, mit einer entsprechenden Meldung.

9

23.07.2009, 19:34

auf beiden rechnern ist das .net framework 3.5 installiert. ich habe auch keinen anhaltspunkt, wo der fehler ist. am ftp server kann es nicht liegen, an der installierten software auch nicht, an den rechten auch nicht, am betriebssystem auch nicht. ich vermute, das es eine einstellungssache in .net ist, leider habe ich keine ahnung, wo ich ansetzen soll. informationen sind im internet diesbezüglich auch kaum welche vorhanden. das was ich finde hilft mir nicht weiter.

Werbeanzeige