如何使PowerShell FTPS脚本(SSL)上传单个文件?

时间:2018-08-24 15:32:22

标签: powershell ftp winscp ftps winscp-net

我需要一个脚本来帮助我将单个文件上传到云中。

我找到了关于SFTP(SSH)协议的一些答案,但是找不到用于FTPS(SSL)的脚本。

我已经尝试过该脚本,但是它不起作用:

cols = ['amount', 'days']

df1.alias('a').join(
    df2.alias('b'), ['id_no', 'start_date'], how='outer'
).select('id_no', 'start_date', 
    *(f.coalesce('b.' + col, 'a.' + col).alias(col) for col in cols)
).show()
+-----+----------+------+----+
|id_no|start_date|amount|days|
+-----+----------+------+----+
|    1|2016-01-06|  3456|  20|
|    2|2016-01-20|  2345|  19|
|    1|2016-01-03|  4456|  22|
|    3|2016-02-02|  1345|  19|
|    2|2016-01-15|  1234|  45|
|    1|2016-01-01|  8650|  52|
|    2|2016-01-02|  7130|  65|
+-----+----------+------+----+

我有此错误:

  

PS C:\ Windows \ system32> D:\ Script \ 08h00_000001_Client1_to_ftps.ps1异常«检查»avec«0»参数:
  «转移文件后的Erreur lors'D:\ QAPPLI \ Quadra \ DATABASE \ PAIE \ 000001 \ qpaie.mdb'。   服务器使用主机地址发送了具有不可路由地址172.16.59.131的被动答复。
  Copie de fichiers vers lecoté遥远的échouée。
  文件名无效
  管理员D:\ 08h00_000001_Client1_to_ftps.ps1:8   卡内特雷:85   + $ session.PutFiles(“ D:\ QAPPLI \ Quadra \ DATABASE \ PAIE \ 000001 \ qpaie.mdb”,“ / FOLDER1 / 08h00”)。检查<<<<()       + CategoryInfo:未指定:(:) [],MethodInvocationException       + FullyQualifiedErrorId:DotNetMethodException

翻译成英文:

  

D:Script08h00_000001_Client1_to_ftps.ps1使用“ 0”参数调用“检查”时出现异常:«“错误传输文件'D:QAPPLIQuadraDATABASEPAIE000001qpaie.mdb'。服务器使用主机地址发送了具有不可路由地址172.16.59.131的被动答复代替。
  将文件复制到发生故障的远程端。
  文件名无效
  在D:08h00_000001_Client1_to_ftps.ps1:8字符:85 + $ session。 PutFiles(“ D:QAPPLIQuadraDATABASEPAIE000001qpaie.mdb”,“ / FOLDER1 / 08h00”)。检查<<<()+ CategoryInfo:未指定:(:) [],MethodInvocationException + FullyQualifiedErrorId:DotNetMethodException

非常感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

Session.PutFilesdat <- structure(list(Date = structure(c(17683, 17685, 17685, 17685, 17685, 17686, 17683, 17684, 17685), class = "Date"), Emp1 = c("A", "A", "A", "A", "A", "A", "B", "B", "B"), Case = c("A1", "A2", "A3", "A4", "A5", "A6", "B1", "B2", "B3"), Priority = c(0, 0, 0, 1, 2, 0, 0, 0, 0), PriorityCountinLast7days = c(0, 1, 2, 1, 1, 3, 1, 2, 3)), row.names = c(NA, -9L), class = "data.frame") (第二个)参数是:

  

将文件上传到的完整路径。

虽然您似乎只传递了文件夹的路径,而不是文件的完整路径。

这应该是正确的:

remotePath

答案 1 :(得分:-1)

使用PowerShell中的.Net Framework的FTPWebRequest类,并带有EnableSsl属性来启用FTPS

<a>