2012-04-29 10 views
0

Windowsドメイン上のリモートワークステーションのファイルシステムを照会する必要があります。プログラムは、特定のファイル名とファイルパスの存在をリモートファイルシステムで検索する必要があります。たとえば、「c:¥program files¥mozilla¥firefox.exe」または「c:¥program files¥chrome¥chrome.exe」が10,000台のドメインのワークステーションに存在するかどうかを調べたいとします。Windowsドメイン上のリモートワークステーションからファイル情報を取得して取得する

私が知っているもの: 1)WIN32 APIを使用し、\ ServerName \ C $ \ FolderNameのようなAdmin ShareアクセスでUNCパスを使用するWindows偽装のC#コードのみ(私はアプリケーションを実行する必要があるとは確信していませんドメインサーバーからワークステーション管理共有アクセス権を取得する)。

2)C#管理クラスでWMIを使用する場合は、Domain Admin資格情報の偽装を使用してリモートシステムアクセスを取得し、次にクエリを使用してリモートファイル情報を取得します。

私は両方のシナリオを実装していますが、どのシナリオがベストであり、リアルタイムでうまくいくかはわかりません。私は2〜3台のシステムネットワークしかテストしていません。

私の心には質問があります。

1)状況に最も適したオプションはどれですか? 2)どちらが速く、より安全で一貫性がありますか?

上記の要件に該当するものを選択してください。

は ラヴィ

答えて

1

に、ドメインコントローラからこれを実行する必要をお願いします。適切なprivを使用すると、どこからでもWMIクエリを実行できます。実際、それらをDCにプッシュすると、クエリにホップが追加され、直接クエリするよりも遅くなる可能性があります。プロセスのドメイン管理者権限を持っているならば、ファイル存在チェックのためにuncパスに直接問い合わせて、それを使って完了します。

+0

どちらが優れていますか? prv?を使用したWMIまたはUNCパスIs Active Directory - LogonUserは、UNCにアクセスするprvを取得するように動作します。 –

+0

最終的に、どちらの方法でも劇的な違いが生じる可能性があることはわかりません。堅牢性のために、私は管理共有の使用を避け、おそらくWMIオプションを使用/推奨します。 –

+0

Davidさん、ありがとうございます。実際に私はオプションの1つを決定しなければならない状況にあり、もう1つの問題は私のコードをテストするドメインがないことです。私はコーディングして、実際の結果を与えることは決してない小さなネットワークで私のマシンでそれをテストしています。だから、私は専門家に最良の選択肢を決定するよう求めている。 - どうもありがとう –

関連する問題