문제

서버에서 마운트 드라이브 만 반환하는 간단한 WQL 쿼리를 만들려고합니다. 이들은 그들과 관련된 드라이브 문자가없는 드라이브입니다.

다음 sytnax를 시도했는데 결과 세트를 반환하지 않습니다.

SELECT * FROM Win32_Volume WHERE DriveLetter = ""

다음은 C#의 전체 코드 샘플입니다.

string ManagementPath = string.Format(@"\\{0}\root\CIMV2", txtServerName.Text);
ConnectionOptions DriveConnOptions = new ConnectionOptions();
ObjectQuery oq = new ObjectQuery(@"SELECT * FROM Win32_Volume WHERE DriveLetter = """"");
ManagementScope Scope = new ManagementScope(ManagementPath, DriveConnOptions);
ManagementObjectSearcher Searcher = new ManagementObjectSearcher(Scope, oq);
ManagementObjectCollection collection = Searcher.Get();
foreach (ManagementObject mo in collection)
{
    //do something...
}
도움이 되었습니까?

해결책

WQL 문을 변경해야합니다.

SELECT * FROM Win32_Volume WHERE DriveLetter IS NULL
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top