このdsaファイルのサイズをc:\ windows \ ntds \ディレクトリに表示しようとしています。wmi無効なクエリエラー
ここではエラーが発生していますが、理由はわかりません。エラーは「無効な照会」です。
異なるWMIクラスを使用すると、このエラーが頻繁に発生するようです。
なぜこのエラーが発生し、これを解決するのか分かりません。
以下のコードにはエラーがありますか?これを解決する方法はありますか?
この無効なクエリエラーが発生する理由は何ですか?内部例外は常にnullになりますか?
private int getDatabaseFileSize(string DSADatabaseFile, string machineName)
{
string scope = @"\\" + machineName + @"\root\CIMV2";
string query = string.Format("Select FileSize from CIM_DataFile WHERE Name = '{0}'", DSADatabaseFile);
ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
ManagementObjectCollection collection = searcher.Get();
foreach (ManagementObject mobj in searcher.Get())
{
Console.WriteLine("File Size : " + mobj["FileSize"]);
}
return 0;
}
おかげ
クエリで 'DSADatabaseFile'があった場合、その値は何だったのかわかりますか? – PresleyDias
私は大丈夫です、私は管理者のアカウントでこのアプリケーションを実行しています。 DSADatabaseFileの値はC:\ Windows \ NTDS \ ntds.ditで、サイズは16MBです。 foreachループでキーワードに達すると例外が発生します。 – sunder
この 'C:\\ Windows \\ NTDS \\ ntds.dit'またはリンクhttp://stackoverflow.com/a/972232/1051198 – PresleyDias