2015-02-05 82 views
0

我試圖通過PowerShell腳本從FTP服務器獲取響應。要做到這一點,我寫了下面的:使用PowerShell發送FTP請求時出現錯誤530

$sourceuri = "<string>" 
$targetpath = "<string>" 
$username = "<string>" 
$password = "<string>" 

# Create a FTPWebRequest object to handle the connection to the ftp server 
$ftprequest = [System.Net.FtpWebRequest]::create($sourceuri) 

# set the request's network credentials for an authenticated connection 
$ftprequest.Credentials = New-Object System.Net.NetworkCredential($username,$password, $sourceuri) 

$ftprequest.Method = [System.Net.WebRequestMethods+Ftp]::DownloadFile 
$ftprequest.UseBinary = $true 
$ftprequest.KeepAlive = $false 

# send the ftp request to the server 
$ftpresponse = $ftprequest.GetResponse() 

腳本執行時,它會返回錯誤530說我沒有登錄我沒有PowerShell的經驗,我不能確定什麼,我需要添加到解決這個錯誤

回答

0

這個問題可能是這條線

$ftprequest.Credentials = New-Object System.Net.NetworkCredential($username,$password, $sourceuri) 

唯一constructor that accepts 3 parameters[System.Net.NetworkCredential]正在尋找用戶名,密碼,。您有$sourceuri適用於domain$sourceuri是不是FTP網址?我應該認爲,如果你只是使用基本的FTP憑據,你只需要用戶名和密碼。

$ftprequest.Credentials = New-Object System.Net.NetworkCredential($username,$password) 
+0

$ sourceuri是一個我相信的字符串。拿出$ sourceuri將錯誤更改爲550錯誤,我不知道如何修復 – 2015-02-05 17:38:34

+0

@NickG這只是表示權限被拒絕。 '$ sourceuri'是一個webaddress是否正確?你可以在瀏覽器中使用這些憑據嗎?它使用域憑據嗎? – Matt 2015-02-05 17:41:39

+0

證書在瀏覽器中工作。我剛剛運行了另一個腳本,它列出了我的shell中的目錄並且工作正常。然而,下載腳本會拋出550錯誤 – 2015-02-05 18:11:46

相關問題