2

セキュアFTPクライアントであるWinSCPと呼ばれるソフトウェアを介してSFTPサーバーに接続しようとしています。キーを送信し、疑似無人モードで実行することでスクリプトを実行できますが、サーバーに送信するにはユーザーがログインしている必要がありますキー、コンソールが起動しないサービスのようにログオンしてファイルを転送するには、WinSCPが必要です。

WinSCP Webサイトのチュートリアルに従ってみました (自動/無人転送の場合ですが、エラーが発生します:Cannot created object、またはcannot find library(COMに関連付けたdllファイルから)

次のコードを実行するとエラーが発生します。

line 13, Char: 2
Could not created object named "WinSCP.SessionOptions"
Code: 80040154
Source: Wscipt.CreateObject

また、13行目のコードを削除してそれが唯一の問題であるかどうかを確認すると、Sessionオブジェクトの作成に関して21行目または22行目でも同様のエラーが発生することにも言及する必要があります。

<job>                                                               
<reference object="WinSCP.Session"/>

<script language="VBScript">




Option Explicit

' Setup session options
Dim sessionOptions
Set sessionOptions = WScript.CreateObject("WinSCP.SessionOptions")
With sessionOptions
    .Protocol = Protocol_Sftp
    .HostName = "host"
    .UserName = "username"
    .Password = "password"
End With

Dim session
Set session = WScript.CreateObject("WinSCP.Session")

' Connect and Get
session.Open sessionOptions

 session.GetFiles("/Fromn/*.*", "C:\testFilesFrom").Check()



' Disconnect, clean up
session.Dispose

</script>
</job>

サーバーがログオンしておらず、スクリプトでSFTPセッションを実行できるこの種のジョブのスクリプトを作成した経験はありますか?私が間違っていることはありますか、それとも不可能ですか?

4

1 に答える 1

1

WinSCP はインタラクティブな使用のために作られました。非対話型ジョブにはPSCPを使用します。また、パスワード認証の代わりに公開鍵認証を使用することを強くお勧めします。

于 2012-11-12T17:56:34.343 に答える