KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I am struggling to get a PowerShell script to work. I am very new to PowerShell so could be missing something stupid. $sourceuri = "ftp://ftp.example.com/myfolder/myfile.xml" $username = "user" $password = "password" # Create a FTPWebRequest object to handle the connection to the ftp server $ftprequest = [System.Net.FtpWebRequest]::create($sourceuri) $credentials = New-Object System.Net.NetworkCredential($username,$password) # set the request's network credentials for an authenticated connection $ftprequest.Credentials = $credentials $ftprequest.Method = [System.Net.WebRequestMethods+Ftp]::UploadFile $ftprequest.UseBinary = 1 $ftprequest.KeepAlive = 0 # read in the file to upload as a byte array $content = gc -en byte $fileName $ftprequest.ContentLength = $content.Length # get the request stream, and write the bytes into it $rs = $ftprequest.GetRequestStream() $rs.Write($content, 0, $content.Length) # be sure to clean up after ourselves $rs.Close() $rs.Dispose() I get the following error: Exception calling "GetRequestStream" with "0" argument(s): "The remote server returned an error: (530) Not logged in." At C:\temp\copyfile.ps1:63 char:35 + $rs = $ftprequest.GetRequestStream( <<<< ) I can connect via IE to it easily so thought maybe something else was wrong so did this quickly in C#: string filePath = @"C:\temp\myfile.xml"; string FTPAddress = @"ftp://ftp.example.com/myfolder"; FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create(FTPAddress + "/" + Path.GetFileName(filePath)); request.Method = WebRequestMethods.Ftp.UploadFile; string username = "user"; string password = "password"; request.Credentials = new NetworkCredential(username, password); request.UsePassive = true; request.UseBinary = true; request.KeepAlive = false; FileInfo file = new FileInfo(filePath);
Tags (comma-separated)
Save Edits
Cancel