.net WMI提供程序无法';t暴露法

.net WMI提供程序无法';t暴露法,.net,powershell,wmi,provider,.net,Powershell,Wmi,Provider,我正在编写一个WMI提供程序类。在我添加带有标记[ManagementTask]的方法之前,它工作得很好。我的意思是,所有这些都可以编译并运行,没有任何问题。但是从powershell获取wmiobject,我只能看到属性。无论如何,在中找不到该方法 这是我的提供者类: //define the provider class. [InstrumentationClass(InstrumentationType.Instance)] [ManagementEntity] public class

我正在编写一个WMI提供程序类。在我添加带有标记[ManagementTask]的方法之前,它工作得很好。我的意思是,所有这些都可以编译并运行,没有任何问题。但是从powershell获取wmiobject,我只能看到属性。无论如何,在中找不到该方法

这是我的提供者类:

//define the provider class.
[InstrumentationClass(InstrumentationType.Instance)]

[ManagementEntity]
public class IPVR_Channel
{

    public string NAME { get; set; }

    public string FAMILY { get; set; }
    public string STATUS { get; set; }
    public string TYPE { get; set; }
    public string URI { get; set; }
    public string VERSION { get; set; }
    public string IP_ADDRESS { get; set; }
    public string PORT { get; set; }


    [ManagementBind]
    public IPVR_Channel()
    {
        NAME = "";
        FAMILY = "";
        STATUS = "";
        TYPE = "";
        URI = "";
        VERSION ="";
        IP_ADDRESS = "";
        PORT = "";
    }
    [ManagementTask]
    public static void set_version()
    {
       //do something
    }
}
谢谢你的帮助。
James

在PowerShell脚本中添加程序集类型后,“[.IPVR_Channel]| Get Member-Static”命令显示什么?它显示cmd的两个方法:gm-staticEquals和ReferenceEquals,我的方法不在其中。Thank.PS C:\Users\lliu>gwmi ipvr|U channel | gm-静态类型名称:System.Management.ManagementObject名称成员类型定义--------------------------Equals方法静态bool Equals(System.Object objA,System.Object objB)引用Equals方法静态bool ReferenceEquals(System.Object objA,System.Object objB)我解决了这个问题。WMI扩展有两个版本共存。一个使用System.management,另一个使用System.management.instrumentation。