2012-04-10 21 views
2

WindowsのマシンとUNIXのマシンをネットワーク上で自動的に検出し、Windowsの共有ディレクトリからリモートマシンにフォルダをコピーし、マシン上のプロセッサの数を収集するプログラムを作成する必要があります。私はマシンとそのipsの検出に役立つC#関数については知らない。私はアクティブなディレクトリにアクセスすることはできませんまたはすべてのマシンのための中央サーバーを持っています。私は、クライアントマシン上で動作するperlプログラムを作成することができます。 (また、私はUnixマシン上のWindows共有にアクセスする方法がわかりません)一般的なガイダンスとコード例はありがたいですマシンを自動検出するコード

+0

これはおそらくあなたが探しているものですhttp://stackoverflow.com/questions/5116977/c-sharp-how-to-check-the-os-version-at-runtime-eg-windows-or- linux-without-usi – MilkyWayJoe

+0

私の上司を幸せにしないマシンにモノフレームワークをインストールする必要がある@MilkyWayJoe ...それでは、どうもありがとうと感謝しています:) –

答えて

0

ネットワークマシンを検出するためにNmapを使用できます。これはクライアントレスであり、-Oパラメータを使用すると、マシンでWindows OSまたはLinuxが実行されているかどうかがわかります。 SNMPまたはWMIを使用して、マシンにSNMPまたはWMIをインストールする必要がある場合でも、CPUの数を取得できます。しかし、リモートマシン上で実行されているクライアントでは、ファイルをコピーする必要がある場合は、すべてがはるかに簡単になります。

+0

nmap提案のおかげで.. .iはネットワーク内に1つのクラスしか持っていませんでした。私たちはその側面をカバーしませんでした。共有とコピーをセットアップするクライアントを必要とするあなたの権利 –

+0

ようこそ。 – raz3r

1

2つの非常に異なる質問があります。


1.マシンがWindowsマシンかUNIXマシンかを検出します。

$^Oは、Perlでそれを提供します。

$ perl -E'say $^O' 
linux 

>perl -E"say $^O" 
MSWin32 

2. UNIXマシンからのアクセス、リモートのWindowsファイル共有。

まあ、それはSMBファイルシェアです。

本当に必要なのは、SMBクライアントだけです。私は速やかに、Filesys::SmbClientというPerlモジュールを発見した。

関連する問題