【发布时间】:2015-03-11 22:10:52
【问题描述】:
我正在尝试使用 WMI 删除远程服务器上的现有文件。
这是我的代码:
string name = @"\\servername\\OCROut\\basketball.txt";
ConnectionOptions options = new ConnectionOptions(remoteServer, "username", "password", "ntlmdomain:domainName", ImpersonationLevel.Impersonate, AuthenticationLevel.Default, true, null, System.TimeSpan.MaxValue);
ManagementScope scope = new ManagementScope("\\\\server\\root\\cimv2", options);
scope.Connect();
var query = new ObjectQuery(string.Format("SELECT * FROM CIM_Datafile WHERE Drive = 'D' AND Name = '{0}' AND Filename = 'basketball' and Extension = 'txt'", name));
ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
var tobeDeleted = searcher.Get();
foreach (ManagementObject item in searcher.Get())
{
item.InvokeMethod("Delete", null);
}
查询是工作文件,但是当我执行 searcher.Get() 方法时我的计数 = 0。我尝试了一切,不同的斜杠,没有驱动器、文件名和扩展名,但似乎没有任何工作,我知道该文件存在。
任何帮助将不胜感激。
【问题讨论】: