首页 > 解决方案 > 如何在 Asp.Net Core 上使用 ORMi 获得统一写入过滤器状态?

问题描述

在我的 Asp.Net Core MVC Web 应用程序中,我需要知道是否启用了写入过滤器 (UWF)。

我目前正在使用 Windows 10 企业版。

经过大量谷歌搜索后,我发现可以通过访问 Windows Management Instrumentation (WMI) 来完成。与 Asp.Net 不同,Asp.Net Core 需要一个名为 ORMi 的外部库才能使用 WMI。

尽管阅读了 Microsoft 文档,但我还是不明白如何让这些工作正常进行......我将把我使用的文档留给你:

写过滤器

欧米

WMI

你们怎么能帮助我。谢谢!

标签: c#asp.net-corewindows-10wmi

解决方案


我找到了解决方案。

首先你需要安装写过滤器:这里是指南

然后你需要在 Visual Studio 中安装 ORMi NuGet Packet。

查看网站以更好地了解 WMI。

我会把我写的代码留给你

[WMIClass("UWF_Filter")]
    public class UnifiedWriteFilter : WMIInstance
    {
        [WMIProperty("CurrentEnabled")]
        public bool IsEnabled { get; set; }

    }

    public void IsWriteFilterEnabled()
    {
        WMIHelper helper = new WMIHelper("root\\standardcimv2\\embedded");

        UnifiedWriteFilter unifiedWriteFilter = helper.QueryFirstOrDefault<UnifiedWriteFilter>(); // The query is correct

        if (unifiedWriteFilter.IsEnabled)
        {
            Console.WriteLine("Write filter Enabled");
            ViewBag.WriteFilterStatus = "enabled";
        }
        else
        {
            Console.WriteLine("Write filter Not Enabled");
            ViewBag.WriteFilterStatus = "disabled";
        }

    }

推荐阅读