Ладно, вот что я делаю - это только вызовы System.Management:
Простые запросы и метод вызывают работу по одному и тому же соединению. Этот запрос не будет. И файл существует на удаленной машине. Улики?
myQuery = "Select * from CIM_DataFile Where Drive = 'C:' AND Path = '\\Users\\someguy\\Documents\\' AND FileName = 'Default' AND Extension = 'rdp'";
options = new ConnectionOptions();
options.Username = myUsername;
options.Password = myPassword;
options.Authority = "ntlmdomain:MYDOMAIN";
scope = new ManagementScope("\\\\REMOTEMACHINE\\root\\CIMV2", options);
scope.Connect();
searcher = new ManagementObjectSearcher(scope, new ObjectQuery(myQuery));
myResults = searcher.Get();
ManagementObjectSearcher.Get () возвращает мне ManagementException, говорящее «Неверный запрос». Работает более простой запрос, например, «SELECT * FROM Win32_NetworkAdapter».
Я попытался сократить WHERE до одного, то есть "Выбрать * из CIM_DataFile, где Extension = 'rdp'". Это работает, хотя, очевидно, не дает мне то, что я хочу. (До редактирования я ошибочно думал, что даже тогда это не сработало; см. Комментарии) Я нахожусь в конце верёвки здесь.