0

私は、学ぶべき新しい言語として Python に取り組むことにしました。最初に、ローカル マシンから他のマシンのサービスをリモートで再起動できるようにするスクリプトをコーディングします。リモート マシンでログオンするためにユーザー名とパスワードが必要な場合、どうすればこれを実現できますか? 完全な解決策を提供する必要はありませんが、使用する必要があるライブラリや、スクリプトを作成する際に対処する必要がある問題についてのヒントが得られるかもしれません。

編集: すべてのリモート マシンは Windows 2003 を使用しています

4

5 に答える 5

3

人々は通常、 ssh を実行するためのライブラリとしてparamikoを推奨しています (リモート マシンにアクセスするには ssh が必要だと思います)。それには良いチュートリアルがあります。

編集:Windowsでは、おそらくSysInternals psserviceユーティリティを使用してos.systemで呼び出すのが最も簡単な方法です。これにより、リモート サービスを開始し、ログオン資格情報を受け入れることができます。

Python で直接実行する場合は、 win32service.StartServiceが必要です。その前に、リモート サービス マネージャーを開いてから、リモート サービスを開く必要があります。その前に、操作を実行するユーザーを偽装する必要があります。を参照してください。

于 2009-08-26T07:15:36.513 に答える
3

paramikoをベースにしたFabricをご覧ください。これは、Python でリモート タスクを自動化するための非常に優れたツールです。

Fabric のドキュメントで、使い方がいかに簡単かがわかります。

于 2009-08-26T07:19:02.093 に答える
1

リモート マシンで実行されている OS の種類は何ですか? Linux の場合は、モジュールssh(1)を使用して実行します。subprocess

Windows の場合は、win32 拡張機能を入手してください。Windows 関数を呼び出すことができます。サービスへのアクセスを許可する API が必要です。そうでない場合は、 subprocess モジュールを使用して実行できるsc( docs ) というツールがあります。

于 2009-08-26T07:18:02.080 に答える
1

ターゲット マシンの OS は? 「サービス」が「Windows NT サービス」で、ローカル マシンも Windows の場合、Python 言語の実装として IronPython を使用し、.net System.Management 名前空間の WMI 機能を直接呼び出します。そのようなリモート管理者向け。

于 2009-08-26T07:20:26.363 に答える
0

Windows では、wmi モジュールがこれに最適です。

于 2013-03-13T16:53:26.357 に答える