問題タブ [system.management]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - WMI を使用してリモート ファイル システムをクエリするより高速な方法はありますか?
ディレクトリの下にあるすべてのファイルを再帰的に取得しようとしていますC:\YC
。リモート コンピュータへの 1 つの WMI 呼び出しにバインドされています。
WQLLIKE
オペレーターを使用してこの呼び出しを行うことができましたが、結果が約 6 ファイルであるにもかかわらず、約 30 秒かかります。
オブジェクトを使用して再帰的にファイルを取得するより効率的な方法はありSystem.Management
ますか (WQL の有無にかかわらず、1 回の WMI 呼び出しで)。
c# - WMI クエリからの C# プロパティ値は null ですが、Powershell または VBScript には文字列値があります。
Microsoft_BDD_Info に対して WQL で簡単なクエリを実行しています。
C# (.NET Framework 4.8) では、System.Management を使用します (Unix パッケージで参照が見つからないため、Microsoft.Management.Infrastructure はインストールされません。私は W10 マシンで作業しています)。
Powershell、VBScript、および WBEMTEST で同じクエリを試しましたが、すべて正常に動作しました。
クエリは非常に単純です。
select star を試行すると、InstanceKey を除くすべてのプロパティが null になります。
System.Management はデータの取得に問題がありますか?
考えられる解決策:解決したと思いますが、かなりクレイジーです
- ソリューションのターゲット フレームワークを 4.8 から 2.0 に変更しました
- ビルドしようとしましたが、明らかにできませんでした (これは WPF アプリです)。
- ターゲット フレームワークを 4.8 に戻しました
- それは今動作します