ファイルを7-zipし、PuTTYのSCPを使用してバックアップサーバーに保存するPS1スクリプトを作成しました。私はそれをテストしました、そしてそれは完全に働きます。
次に、SQL Serverエージェントにログインし、バックアップジョブに追加の手順を追加して、バックアップジョブが完了したらすぐにそのスクリプトを実行します。正しく呼び出され、.7zファイルが作成され、pscp.exeが呼び出されて...停止します。 SQL Serverエージェントのジョブアクティビティモニターに移動すると、次のことがわかります。
Message
The server's Host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server's rsa2 key fingerprint is:
ssh-rsa 2048 b5:f8:d2:5f:be:90:b6:be:15:d3:26:d5:c6:42:59:05
If you trust this Host, enter "y" to add the key to
PuTTY's cache and carry on connecting.
If you want to carry on connecting just once, without
adding the key to the cache, enter "n".
If you do not trust this Host, press Return to abandon the
connection.
Store key in cache? (y/n)
これは非対話型のセッションなので、そこで「y」を押す機会はありません。その上、このジョブがどのユーザーで実行されているのかわかりません。また、それを知っていても、このキャッシュがどこにあるのかわかりません。今何?
あなたは次のようなことをすることができます
echo n | pscp file.7z [email protected]:/path
これにより、レジストリにキーフィンガープリントを保存せずにコピーを続行できます。または、
echo y | pscp file.7z [email protected]:/path
質問を受け入れ、ユーザーにキー指紋を追加しますHKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys
。
ローカルセッションにSSHフィンガープリントを追加した後、次のレジストリに移動することもできます。
HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys
キーを他のユーザーにコピーします。
HKEY_USERS\.DEFAULT\Software\SimonTatham\PuTTY\SshHostKeys
またはローカルシステムユーザー:
HKEY_USERS\S-1-5-18\Software\SimonTatham\PuTTY\SshHostKeys
オプションを追加します-batch
スクリプトファイルに。