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