セキュア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セッションを実行できるこの種のジョブのスクリプトを作成した経験はありますか?私が間違っていることはありますか、それとも不可能ですか?