gpt4 book ai didi

c# - 使用 WMI 删除远程服务器上的文件

转载 作者:行者123 更新时间:2023-11-30 16:08:35 25 4
gpt4 key购买 nike

我正在尝试使用 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。我尝试了所有方法,不同的斜杠,没有驱动器、文件名和扩展名,但似乎没有任何效果,我知道该文件存在。

如有任何帮助,我们将不胜感激。

最佳答案

您似乎在参数中传递了错误的值。 Name 属性必须包含文件的完整本地路径,所以试试这个:

string name = @"D:\\OCROut\\basketball.txt";
var query = new ObjectQuery(string.Format("SELECT * FROM CIM_Datafile WHERE Name = '{0}'", name));

关于c# - 使用 WMI 删除远程服务器上的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28998362/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com