我想知道遠程主機是否有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