通过 WMI 查询对远程计算机上 UNC 路径的访问

2023-12-21

我想查明远程主机是否具有对网络共享的读写访问权限。首先,我想看看是否可以查询目标主机查询 UNC 路径信息的能力,ala

var query = string.Format("select * from CIM_Directory where name = '{0}'", path);

这对于本地文件来说效果很好,例如

var path = @"c:\\Windows";

但是,我无法找出查询 UNC 路径的适当方法(例如 \\foo\bar)。查询始终返回空白集。我看到一个有关执行远程文件的相关问题,该问题的解决方案最终是 PsExec。我希望完全使用 WMI 理想地解决这个问题,而不必依赖第 3 方执行人员,或将我自己的工具上传到远程主机。

Cheers

这是我现在正在尝试做的一些使用示例(取出了 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();
        }
    }
}

因此,这看起来基本上是不可能的,因为出于安全原因,WMI 会将您锁定在网络访问之外。看起来你最好的选择是一次性使用 WinRM 或 PsExec。如果这是您唯一的访问路径,您可以通过 WMI 启用 WinRM,但我认为该功能可能会被组策略阻止。第三个选项是编写您自己的 Windows 服务,该服务将响应请求并通过 WMI 安装该服务(如果您有权访问)。

简而言之:我的问题的答案是否定的。使用 WinRm、PsExec 或自定义 win-service 解决方案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 WMI 查询对远程计算机上 UNC 路径的访问 的相关文章

随机推荐

  • VueJS 将 HTML 打印到页面

    我有一个属性 其中包含 HTML 字符串作为其属性之一 当我尝试将其打印到模板中的页面时 它实际上打印了 HTML 因此文本包含 HTML 标签 并且它本身不会被浏览器解释为 HTML 我怎样才能解决这个问题 模板 div class de
  • 无法在 Android 8 中禁用通知振动

    我试着禁用振动显示通知时 Func public static Notification buildNotifForUploaderService Context ctx String title String message Notifi
  • Pandas 数据框按日期移动列

    我有一个按日期和 ID 索引的面板数据集 看起来像这样 df pd DataFrame Date 2005 12 31 2006 03 31 2006 09 30 2005 12 31 2006 03 31 2006 06 30 2006
  • 绕过错误并继续代码

    这是我之前遇到的一个简单问题 本质上 像这样的解决方案 https stackoverflow com questions 574730 python how to ignore an exception and proceed and t
  • 在 Android 上替换 ViewPager 中的当前 Fragment

    我有一个ViewPager我必须更换第一个Fragment如果某个动作发生 public static class PagerAdapter extends FragmentStatePagerAdapter private TempCha
  • 如何添加可拖动的“文本字段”以在颤振中的图像上添加文本?

    我正在 flutter 中创建一个 Meme 生成器应用程序 我只需要知道是否有一种方法 用户本身可以在图像上添加文本并将该文本拖动到图像区域中的任何位置 这样图片看起来很有趣 我尝试过拖动框小部件 但不知道如何将其用于文本字段 这样我也可
  • SQL 2008+ NOLOCK 与 READPAST 对于报告准确性的注意事项

    了解最终的决策是业务决策 在 SQL 2008 R2 中运行的 NOLOCK 和 READPAST 之间的准确性考虑因素是什么 在与业务领域讨论变更之前 我希望能有更好的理解 我继承了许多查询 用于创建管理报告的数据视图 WITH NOLO
  • iPhone:获取 Google 地图的选定缩放级别

    当用户使用以下任一方式时 我们需要获取 MKMapView 当前选择的缩放级别 使用 Mapkit 放大或缩小 Google 地图 我们尝试过的解决方案在模拟器上运行良好 但在真实环境中运行不佳 设备 具有 iOS 3 0 1 的 iPho
  • 将 NLTK Rake 应用于 Dataframe 中的每一行

    我想应用 Rake 函数 https pypi org project rake nltk https pypi org project rake nltk 到我的数据框中的每一行 我可以将该函数单独应用于特定行 但不能将其附加到数据帧 这
  • Solr 索引中缺少 Id 字段

    我刚刚发现我的 Solr 索引不包含 id场地 并且无法获取项目 id UniqueId 存在 但这并不是真正有用 public class MyClass IndexField BuiltinFields UniqueId public
  • 在二叉搜索树中查找最小和的算法改进

    我编写了以下函数来找出二叉搜索树中任何路径的最小总和 int minSumPath TreeNode root if root NULL return 0 int sum root gt value if root gt left NULL
  • 存储 API URL 并在 Angular 中使用的最佳方式是什么

    我想将所有 API URL 存储在一个位置 即在 JSON 文件中 我想在我的应用程序中使用该 JSON 文件 i 保存 JSON 文件的最佳位置是哪里 ii 如何使用 Type 脚本文件中的 URL 我会将基本网址存储在environme
  • Elasticsearch 重新索引现有类型映射中的项目

    我向类型映射添加了一个新属性 我需要重新索引该类型的所有现有项目才能使用新属性 我应该使用哪个 API 来执行此操作 如果您要添加索引中以前从未存在过的新字段 则无需重新索引 只需使用 PUT 映射 API 添加新字段http nocf w
  • 配置 ActiveStorage 以使用具有 IAM 角色的 S3

    我正在尝试配置 ActiveStorage 以使用 S3 存储桶作为存储后端 但我不想传递任何access key id secret access key region 相反 我想使用之前定义的 IAM 角色 提到了这样的配置here h
  • C++11 具有重要成员的匿名联合

    我正在更新我的一个结构 我想向其中添加一个 std string 成员 原始结构如下所示 struct Value uint64 t lastUpdated union uint64 t ui int64 t i float f bool
  • 在 Visual Studio 中逐步完成“托管到本机转换”?

    在试图回答的同时这个问题 https stackoverflow com questions 9378626我决定需要在调试器视图中手动单步执行编组过程 不幸的是 Visual Studio 似乎直接跳过了所有这些有趣的代码 这是 P In
  • 如果我想将 Play Framework 应用部署到多台服务器上,该怎么办?

    如果我想使用 Play Framework 2 x 将应用程序部署到多个服务器 我需要关心哪些事情 如果我使用 内置 会话 它是否可用于所有节点 因为它们存储在浏览器端 除了将变量存储在数据库中之外 如何在应用程序范围内共享变量 当将 Pl
  • 如何在for循环内进行同步延迟?

    我正在编写一个 NodeJS 脚本 它通过 GET 调用一堆 API 使用request来自 npm 并将响应保存在 JSON 文件中 我正在使用一个for循环遍历ID以传递给API 但是我在调 用突发之间设置延迟时遇到了麻烦 这样我就不会
  • 带文本的球形动画,用于在 Android 应用程序中使用标签云 [新闻共和国]

    我想在我的 Android 应用程序中创建类似于 in app 我尝试过创建一个sphere http www programering com a MDM3cjNwATU html到目前为止 但任何人都可以指导我如何继续在 android
  • 通过 WMI 查询对远程计算机上 UNC 路径的访问

    我想查明远程主机是否具有对网络共享的读写访问权限 首先 我想看看是否可以查询目标主机查询 UNC 路径信息的能力 ala var query string Format select from CIM Directory where nam