web-dev-qa-db-ja.com

ドメイン内のWindowsワークステーションでタスクを(堅牢に)リモートで実行するにはどうすればよいですか?

「頑強に」が言葉かどうかさえわかりません。とにかく。

コンテキスト:

LAN上に数百のWindows7ワークステーションがあります。 AD/GPO管理をかなり頻繁に使用しますが、GPO /スケジュールされたタスクでは実行できない、定期的および/または手動のメンテナンスタスクが多数あります。たとえば、ワークステーションYでプログラムX(バックグラウンドでサイレントに実行され、ユーザーの迷惑にならない)を実行したい場合や、ワークステーショングループBでスケジュールまたはスケジュールに従ってタスクAを実行したい場合です。要求する。これを行うためにユーザーをコンピューターから追い出すこと(つまり、RDPを使用すること)はノーノーであり、とにかくグループでは機能しません。

質問:

セットアップ後、初心者のサポート担当者(コマンドラインを嫌い、Firefoxよりも複雑なGUIインターフェイスと混同する人)に提供できるほど堅牢な、これを行うための最良の方法は何ですか?私は有能なプログラマーです。この種のタスクに対応する強力なツールやフレームワークのセットがあれば、それほど時間がかからなければ、自分で何かをハッキングすることを検討したいと思います。初心者がリモートワークステーションの管理を実行できるようにするために他の人が使用するツールや手法の組み合わせがある場合、私はまだそれを見つけていません。

「理由」を気にする人のために:私は中堅ITであり、プログラムが実際にリモートで実行されていることを確認し、戻ってきたものを表示する機能を使用して、任意/スケジュールされたリモート実行を可能にするリモート管理ソリューションを実装するように言われました。 "なぜ?" 「 PsExec とディスパッチャマシンのタスクスケジューラだけを使用することはできませんか?」と尋ねました。 「いいえ」と私は言われました。「 『ジョー』は2週目の技術者がこれを担当する予定であり、彼はGUIを備えたシンプルなものを必要としています。」

私が試したこと:

ワンクリックで「ファイルをリモートコンピューターに転送し、PsExecで実行する」バッチ/ VBスクリプトをたくさん作成してみましたが、それらは壊れやすく、カスタマイズ可能なグループでの実行を簡単にサポートしていません。私はWindowsバージョンの Puppet で少し遊んだことがありますが、任意の時間のリモート実行をサポートしていません(ただし、コンピューターをツリー/ノード構造にグループ化する機能は本当に素晴らしいです)。私は古いバージョンの Altiris を使用しましたが、それは私が望むことをたくさん実行しますが、そのインターフェースはひどく、遅く、クラッシュし、おそらく管理するには高すぎます。 SwiftWaterのDMSソリューション 私が望むことのいくつかを実行しますが、それは非常に開発が遅れており、クローズドソース(取引ブレーカーではありませんが理想的ではありません)であり、サポートと信頼性が不足しているという印象を受けます。

5
Zac B

リクエストにより、コメントからこれを分割しています...

WesleyDavidのソリューション(PowerShellを使用し、おそらくグループポリシー/環境設定と組み合わせて使用​​)は、説明されている問題に適合するための最良のソリューションですが、全体としては最良のソリューションではない場合があります。質問者は、おそらく専用のシステム管理パッケージを検討する必要があります。

管理者がテクノロジの使いやすさを優先したい場合は、Altiris、Microsoft System Center、KACEなどを使用してこの目標を達成する方が理にかなっている場合があります。彼らは、経営陣が好むと報告し(ワークステーションのX%にプログラムYがインストールされている)、スキルの低い技術者を支援する可能性が高くなります。また、特注のスクリプトのコレクションは最大限の柔軟性を提供しますが、システム管理パッケージは、おそらくほんのわずかな時間で目標に到達するためのほとんどの方法を提供します。特定の問題が発生した場合は、サポートとコンサルタントのコミュニティがあなたを助けることができる可能性が高くなります。

もちろん、トレードオフはお金です。しかし、質問者が中堅のITであることを考えると、より商品性の高い分野で働くよりも、より直接的なビジネスニーズを持つ他の問題に取り組む方が彼にとって役立つかもしれません。

私のネットワークはここにある多くのネットワークよりも小さいと確信しています。約120台のPC、20台のサーバーです。スクリプトとGPOを実行しなければならなかったのですが、パッチ管理と権力者への報告を容易にするために、これらの1つを作成することを検討しています。

7
CC.

必要なツールはすべてすでに存在し、Windows 7に組み込まれています。必要なのは、それらを有効にして構成することだけです。 WinRM / リモートPowerShellコマンド をお勧めします。

ただし、これは、スクリプトのコレクションを作成し、その上にプッシュボタンUIをドロップして、技術者がスクリプトをPCに簡単に向け、ボタンをクリックしてタスクを実行できるようにすることを意味します。しかし、あなたが言ったことに基づいて、それは仕様の範囲内であるはずです。

Microsoft/Windowsは、PowerShellに深く取り組んでおり、PowerShellをリモートで使用して複数のPCを変更および管理することにも取り組んでいます。私はあなたがそれとそのリモート機能で解決策を考え出すのに安全だと思います。 PowerShell 3.0には、2.0よりもさらに多くのリモート機能があります。

7
Wesley

無料のオープンソースソリューションはありませんが、NetIQAppManagerやMicrosoftのようなエージェントベースのソリューションSCCMこれは本当にExcelです。SCCMリモートマシンで実行できるほとんどすべてのもの(VBS、Powershell、実行可能ファイルなど)を実行します。一方、AppManagerは問題ありませんが、VBSとBasicscriptの実行に限定されています。ただし、非常に優れたスケジュールオプションがあり、広告を実行できます。 -リモートマシンでのホックジョブは、ドラッグアンドドロップのような取引です。

ところで、私はこの質問は、MODが本当に好きではない「議論のために開いている」領域にあまりにも行き過ぎていると思います。 肩をすくめる

4
Ryan Ries

私はVNCScanを使用してこの種のことを(とりわけ)行いました。それも安いです。

http://www.bozteck.com/vncscan/

2
northben