これは悪夢でした。
HOMEDRIVE および HOMEPATH 環境変数を設定する必要があることが最終的にわかりました。コマンド 'set' を使用してインタラクティブに実行しているときに環境変数を出力し、タスク スケジューラを使用して出力を比較すると、タスク スケジューラに存在しなかったのはこれら 2 つだけでした。これらを設定した後、タスク スケジューラは最終的に既知のホストを確認できます。
scp を使用して Windows マシンにファイルをコピーする場合、タスク スケジューラ経由で実行すると、別の楽しい問題に遭遇する可能性があります。何らかの理由で scp は古いフォルダーにコピーできず、ログインしているユーザーのホーム フォルダーでなければなりません。多分それはそれほど制限的ではないかもしれませんが、正直なところ、このナンセンスな6時間で終わったときまでに気にすることはできませんでした. とにかく、回避策は、最初にファイルをログインしているユーザーのホームフォルダーに scp し、その後最終的な宛先に移動することです。
これが私のバッチファイルの最終的な方法です(最終的な宛先ディレクトリ内から実行します):
set HOMEDRIVE=C:
set HOMEPATH=\Documents and Settings\loggedinuser
echo Compressing data files on server...
ssh user@host "cd /foo/bar ; gzip -fc foobar > foobar.gz"
echo Copying files from server...
scp user@host:/foo/bar/foobar.gz "%HOMEPATH%"
move "%HOMEPATH%\foobar.gz" .
これがいつか貧しい魂の助けになることを願っています。