Visual Studio のカスタム ビルド タスクからリモート マシンで実行可能ファイルを実行するように psexec を取得しようとしています。これらのコマンドはすべてコマンド ラインから機能しますが、アプリケーションから実行するのは問題があるようです。一部のコマンドは機能し、他の psexec ハングでは機能し、その結果、msbuild と Visual Studio 2005 も機能します。この場合、SharePoint の stsadm.exe を呼び出していますが、アプリケーションから psexec を実行すると、多くのプログラムでこの問題が発生します。この問題を抱えている人はたくさんいますが、解決策がないように思われるので、私の質問は次のとおりです。
3 に答える
リモートシステムに対してPSEXECを実行するときに「ハング」が発生しましたが、リモートプロセスが実行されていたセキュリティコンテキストが原因であると常に考えていました。
PSEXECヘルプから:
ユーザー名を省略すると、リモートプロセスはPsExecを実行したのと同じアカウントで実行されますが、リモートプロセスが偽装しているため、リモートシステム上のネットワークリソースにアクセスできません。ユーザー名を指定すると、リモートプロセスは指定されたアカウントで実行され、アカウントがアクセスできるすべてのネットワークリソースにアクセスできるようになります。パスワードはクリアテキストでリモートシステムに送信されることに注意してください。
プロセスをリモートで実行し、データベース(stsadm.exe)にアクセスする必要がある場合、PSEXECの実行方法によっては、ネットワークリソースへのアクセスに失敗する可能性があります。その場合、最終的にはタイムアウトになり、ある種のリソースが利用できないというメッセージが表示されると思います。
説明する動作を防ぐために、リモートマシンに対して展開手順を実行するときに一般的に行われることが2つあります。
前述のrifferteと同様に、 PSEXECを使用してスクリプト(* .bat、*。vbs、*。psなど)を実行する前に、展開に必要なすべてのアセットがリモートマシンに対してローカルであることを確認してください(ファイルのコピーなど) 。リモートマシンに対して「ローカル」。
実行時にドメインのユーザー名/パスワードを使用してPSEXECを実行します。この情報はクリアテキストでリモートサーバーに渡されることに注意してください。
リモート マシンで必要なものを実行するバット プログラムを psexec に呼び出させることができます。installutil.exe でこの問題に遭遇しました。リモートマシン上の単純なbatファイルで解決しました。
また、sysinternals ボードで経験を共有してください。将来の改訂でできることがあるかもしれません。
常にRCEがあります。
RemCom は、リモート Windows システムでプロセスを実行したり、リモート システムでファイルをコピーしたり、出力を処理したり、ストリーミングしたりできる小さな (10 KB upx パック) リモートシェル / telnet の代替品です。クライアント ソフトウェアをインストールしなくても、完全な対話型コンソールでリモート シェル コマンドを直接実行できます。ローカル マシンでは偽装することもできるため、Runas コマンドのサイレントな代替として使用できます。