1

その一部がフォルダーとそのコンテンツをローカルディレクトリにコピーし、その後、フォルダーのコンテンツを実行しようとするバッチプロセスを続行するバッチファイルがあります。ローカルで実行すると、すべての wintel os で動作し、ファイルを \networkshare\folder*.* から %systemdrive%\temp\ にコピーします。

たとえば、 psexec @serverlist.txt -c batfile.bat -s -f -d を使用してファイルをコピーし、リモートで実行しようとしましたが、リモートで実行するとファイルがコピーされないという問題があります。バッチファイルをリモートで実行した後、リモートシステムでネットワーク共有へのアクセス/認証が許可されないため、認証の問題だと思います

xcopy 、 copy 、 robocopy を試しました。

4

2 に答える 2

0

私は過去にこの問題を抱えていました。BATファイルをコピー/実行しようとする代わりに、可能であればUNCパスからスクリプトを実行してください。問題は、BAT ファイルが実際に PSEXEC を実行して、あなたが思っているようにコピーできないことにあると思います。終了コードを提供しますか?

これは、私が少し前に Adob​​e Reader をインストールするために使用した例です。私はバッチファイルを使ってそれをやろうとしましたが、サイコロはありませんでした。コピーしたかどうかに関係なく、バッチファイル内で実行できませんでした。正確な理由は思い出せませんが、バッチ ファイルがシステムで呼び出され、何らかのローカル コンテキストで実行される方法に問題があったと思います。正確な理由を思い出せないので、それについて私を引用しないでください.

これが私のコード例です:

psexec /accepteula \\%computer% -s cmd /c msiexec /i "\\UNC\Software\adobe\Adobe Reader 7.0.9.msi" TRANSFORMS="acrobat7.mst" /qn
于 2013-04-03T16:06:38.250 に答える
0

私の知る限り、暗黙的な資格情報を使用してネクストホップに対してのみ認証できます。ユーザーが必要な権限を持っていても、最初のホップから 2 番目のホップへの接続試行は失敗します。説明については、たとえばここを参照してください。

これを試して:

psexec @serverlist.txt -u %USERDOMAIN%\%USERNAME% -d -c batfile.bat

リモート ホストに対して認証されるように、明示的な資格情報を使用します。これにより、2 番目のホップが認証済みセッションの次のホップになります。-sそのアカウントはローカル リソースに制限されているため、スクリプトを LOCAL SYSTEM ( ) として実行しないでください。

于 2013-04-03T11:14:45.903 に答える