web-dev-qa-db-ja.com

Windows2003サーバーでのリモートコマンドの実行

リモートのWindows2003サーバーで実行したいコマンドが1つあります。

私はwmicを試しましたが、これは機能しますが、標準出力を表示する唯一の方法は、ローカルファイルにリダイレクトしてから、ローカルファイルを一覧表示することです(ちょっと不格好です)。

私もpsexecを試しましたが、Windows 2003サーバーでの動作に問題があるようです(少なくとも、最新バージョンでは問題があると報告されており、古いバージョンは利用できません)。

インストールする必要のあるサーバーコンポーネントがあり、マシンへの一般的なコマンドラインアクセスを提供したくなかったので、Windowsのrcmdユーティリティから離れようとしました。

リモートマシンで特定のコマンドを実行できるツールやユーティリティに関する他の提案はありますか。

注意:

これは、PsExecを機能させるために使用していた非常に単純な例です。

C:\Program Files\SysInternalsSuite>psexec \\remote-svr -i -u MyUsername D:\Public\do.bat

PsExec v1.95 - Execute processes remotely
Copyright (C) 2001-2009 Mark Russinovich
Sysinternals - www.sysinternals.com

Password:

D:\Public\do.bat exited on remote-svr with error code 1.

私のサンプルdo.batファイルは簡単で、次の行だけが含まれています。

copy dg.bmp dg1.bmp

ソースファイルdg.bmpはリモートマシンに存在しますが、宛先ファイルは存在しません。リモートマシンへの書き込みアクセス権はあります。

上記のPsExecコマンドを実行すると、do.batファイルが実行されず(リモートサーバーに対する特権はありますが)、期待したコンソールへの出力が得られません。私はPsExecを使用するアイデアが好きなので、私が間違っている可能性のあるヒントがある場合は、ぜひ聞いていただければ幸いです。

ありがとう...

6
Steve Hawkins

PSExecとW2k3で正確にどのような問題がありますか? 500以上のW2k3サーバー環境で、この2つを幅広く一緒に使用しています...

実際、PSToolsスイート全体が私の世界を揺るがします。

編集:

これは、元のチケットの編集のフォローアップです。

発生している問題は、「コピー」がCMD.exeの機能であることです。それ自体は、それ自体の実行可能ファイルとしては存在しません。 Del.exeやMD.exeなどがないのと同じです。

サンプルを機能させるには、PSexecを介してCMDを呼び出し、それにコピーコマンドを渡す必要があります。次に例を示します。

psexec -u MyDomain\MyUsername -p MyPassword \\MyServer cmd.exe /c copy c:\sys\util\monitor_localhost.bat blah.bat

結果は次のとおりです。

==================================
PsExec v1.86 - Execute processes remotely Copyright (C) 2001-2007 Mark Russinovich Sysinternals - www.sysinternals.com

1 file(s) copied. cmd.exe exited on fcgwnt53 with error code 0.
==================================
7
Izzy

Admin Arsenalを使用すると、Windowsシステムの1つ、一部、またはすべてに対して リモートコマンド を実行できます。試してみるのは無料です。

コマンドを実行するコンピューターを選択したら、[ツール]-> [リモートコマンド]を選択するだけで、作業を開始できます。

3
Shawn Anderson
2
Jim B

一般的なコマンドは、do.batがリモートサーバーの指定された場所にローカルに存在することを前提としています。そうでない場合は、psexec.exeに、-Cオプションを使用してローカルマシンからリモートマシンにファイルをコピーして実行するように依頼できます。

また、スクリプトでインタラクティブなことを何もしていない場合は、-Iオプションを含めないでください。

私はbeyondexec.exeを試しました、それはpsexec.exeの良い代替品です。

しかし、私はpsexec.exeがMicrosoftを通じて提供されるようになったので、サーバー上での存在を正当化してセキュリティの問題に対処するのが簡単になるので、psexec.exeを好みます。

0
KAPes

私は間違っている可能性がありますが、PS2.0はリモートコマンドとPS1.0ローカルのみを許可していませんか?

0
user10711

標準コマンドは、すべてのMicrosoftワークステーションでデフォルトで無効になっているtelnetを介して実行できますが、GPOおよび「Telnetusers」オブジェクトグループにユーザーを追加することで有効にできます。これで、ほとんどの場合十分です。システムコマンド。

0
Jason B Shrout