我想知道远程主机是否有r/w访问网络共享的权限。要开始了,我想看看我是否能查询目标主机来查询信息的UNC路径的能力,ALA查询通过WMI访问远程计算机上的UNC路径
var query = string.Format("select * from CIM_Directory where name = '{0}'", path);
这正常工作对本地文件,例如
var path = @"c:\\Windows";
但是,我找不出一个合适的查询UNC路径(例如\\ foo \ bar)的方法。查询总是返回一个空白集。我看到一个关于执行远程文件的相关问题,该解决方案最终成为PsExec。我希望完全用WMI解决这个问题,而不必依靠第三方执行者,或者将我自己的工具上传到远程主机。
干杯
这里是什么,我试图做的,现在(取出VAR值)有点用法示例:
using System;
using System.Linq;
using System.Management;
namespace netie
{
class Program
{
static void Main()
{
var connection = new ConnectionOptions
{
Username = "user",
Password = "pass",
Authority = "domain",
Impersonation = ImpersonationLevel.Impersonate,
EnablePrivileges = true
};
var scope = new ManagementScope("\\\\remote\\root\\CIMV2", connection);
scope.Connect();
var path = @"\\\\foo\\bar\\";
var queryString = string.Format("select * from CIM_Directory where name = '{0}'", path);
try
{
var query = new ObjectQuery(queryString);
var searcher = new ManagementObjectSearcher(scope, query);
foreach (var queryObj in searcher.Get().Cast<ManagementObject>())
{
Console.WriteLine("Number of properties: {0}", queryObj.Properties.Count);
foreach (var prop in queryObj.Properties)
{
Console.WriteLine("{0}: {1}", prop.Name, prop.Value);
}
Console.WriteLine();
}
}
catch (Exception e)
{
Console.WriteLine(e);
}
Console.ReadLine();
}
}
}
根据客户端主机不能控制对共享的访问。共享权限和Windows文件系统ACL是为每个用户帐户设置的,所以您的问题没有任何意义。您可以询问某个特定用户帐户是否有权访问特定的共享。 –
这正是我想要做的。我需要验证具有给定主机上的给定一组凭证的用户是否可以访问UNC路径。 – Zoinks