ボリューム名ではなくボリューム GUID を使用して、リモート コンピューターにディレクトリが存在するかどうかを確認しようとしています。WMI でこれを実現する方法はありますか? いくつかの異なるアプローチを試してみましたが、WQL 構文が正しくないようです。おそらく文字エスケープが不十分なためです。以下は、問題に対する私の試みの1つです。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Management;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
ObjectQuery query = new ObjectQuery("Select * From Win32_Directory Where Name=\"" + @"\\\\?\\Volume{10b4259b-f659-11df-b8cc-806e6f6e6963}\\test" + "\"");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
ManagementObjectCollection coll = searcher.Get();
foreach (ManagementObject mo in coll)
{
Console.Write("found");
}
Console.Read();
}
}
}
このコードを実行すると、無効なクエリの例外が発生します。このクエリで Powershell を何度も試行しましたが、同じ無効なクエリの例外も受け取りました。誰かが過去にこれを試みたことがありますか、それとも可能ですか?
ありがとう、クリス